This R Markdown (RMD) file performs exploratory data analysis (EDA) and differential expression (DE) analysis for the 2025 Lin manuscript.

Script Timing Start

ptm <- proc.time()

Variables

# adjusted pvalue
qval <- 0.05
pval <- 0.05
lfc <- 1

# Use max of 4 cores if available.
ncore <- ifelse((detectCores()-2)>=4,4,detectCores()-2)

Set.Seed

# This will set the random number generator
set.seed(888)

MIB-MS baseline data

Directories

# output directory
MIB_output <- paste0(Data, "Output/MIB-BL/")
dir.create(paste0(MIB_output))

# Graphs
MIB_graphs <- paste0(Data, "Graphs/MIB-BL/")
dir.create(paste0(MIB_graphs))

Import Kinase list

# 201006_composite_kinases has 16 extra kinases not originally present in 210706_uniprot... so they were added by hand to match
# 210706_uniprot has 11 kinases not present in 201016_composite but they're not important (sperm motility, pseudogenes, etc. so not adding them to kinases or kinases.anno)
#final number of kinases to proceed: 558

kinases <- read.csv("/Data/Input/MIB-MS/201006_composite_kinases.csv", header = TRUE, fileEncoding="UTF-8-BOM")

kinases.anno <- kinases

kinases.uniprot <- read.csv("/Data/Input/MIB-MS/210706_uniprot_mouse_kinases_with_hEGFR.csv", header = TRUE, fileEncoding="UTF-8-BOM")

kinases.uniprot <- subset(kinases.uniprot, kinases.uniprot$Status=="reviewed")

kinases.anno <- left_join(kinases.anno, kinases.uniprot, by = c("Mouse_symbol" = "gene" ))

setdiff(kinases.uniprot$gene, kinases.anno$Mouse_symbol)
##  [1] "Cdk3-ps" "Gm4922"  "Gm7168"  "Gucy2g"  "Ick"     "Pak7"    "Smok2a" 
##  [8] "Smok2b"  "Smok3a"  "Smok3b"  "Tssk5"
# kinases.anno and kinases.uniprot are 11 different, but it's okay

kinases.anno <- subset(kinases.anno, kinases.anno$Status=="reviewed")
 
setdiff(kinases$Mouse_symbol, kinases.anno$Mouse_symbol)
## character(0)
isUnique <- function(vector) {
  return(!any(duplicated(vector)))
}

isUnique(kinases$Mouse_symbol)
## [1] TRUE
isUnique(kinases.anno$Mouse_symbol)
## [1] TRUE
# Save Kinase list 
write.csv(kinases.anno, paste0(MIB_output,"mouse_kinases_hEGFR_uniprot.csv"), row.names = FALSE)

length(kinases.anno$Mouse_symbol)
## [1] 558

Sample metadata

# Import master sequencing datasheet
MIB_samples_all <-
  read.csv(
    paste0(Data, "Input/MIB-MS/Baseline/240415_mib_sample_sheet_master.csv"),
    header = TRUE,
    sep = ",",
    stringsAsFactors = FALSE
  )

# Assign row names
row.names(MIB_samples_all) <- MIB_samples_all$mib_quick_id

# Remove tmt experiment
MIB_samples_all <- MIB_samples_all[!MIB_samples_all$mib_quick_id=="TMT001", ]

# Note that these samples failed MIB analysis per Mike East and the above peptides/sample plot
MIB_samples_all <- MIB_samples_all[!MIB_samples_all$mib_quick_id %in% c("LFQ019", "LFQ026", "LFQ027"), ]

# These samples were run as LFQ and TMT. Remove from this analysis since there is no comparision
MIB_samples_all <- MIB_samples_all[!MIB_samples_all$mib_quick_id %in% c("LFQ058", "LFQ059", "LFQ060", "LFQ061"), ]

# Remove cell lines not part of this experiment
MIB_samples_all <- MIB_samples_all[!MIB_samples_all$cell_line_abbr %in% c("CEv3P", "CP", "CE", "CEv3_MA","S1" ,"GR1","GR7"), ]

# Remove crm_ms_run 2. This was a fail run. All these samples had evidence files regenerated at a later date.
MIB_samples_all <- MIB_samples_all[!MIB_samples_all$crm_ms_run %in% c("2"), ]

# Remove 2017 pilot experiment
MIB_samples_all <- MIB_samples_all[!MIB_samples_all$crm_ms_run %in% c("1"), ]

# Samples for analysis
MIB_samples <- MIB_samples_all

# Convert to factors
MIB_samples$exp_replicate <- as.factor(MIB_samples$exp_replicate )
MIB_samples$cell_line_abbr <- as.factor(MIB_samples$cell_line_abbr )
MIB_samples$prep_batch <- as.factor(MIB_samples$prep_batch )
MIB_samples$serum <- as.factor(MIB_samples$serum )

# Check the samplesheet
str(MIB_samples)
## 'data.frame':    46 obs. of  36 variables:
##  $ crm_ms_run        : int  3 3 3 3 3 3 3 3 3 3 ...
##  $ mib_id            : chr  "M0025" "M0029" "M0037" "M0039" ...
##  $ mib_quick_id      : chr  "LFQ045" "LFQ042" "LFQ008" "LFQ022" ...
##  $ protein_id        : chr  "P0019" "P0021" "P0025" "P0026" ...
##  $ mib_prep_date     : logi  NA NA NA NA NA NA ...
##  $ TMT_label         : chr  "LFQ" "LFQ" "LFQ" "LFQ" ...
##  $ ms_pool_type      : chr  "LFQ" "LFQ" "LFQ" "LFQ" ...
##  $ ms_pool_date      : logi  NA NA NA NA NA NA ...
##  $ ms_pooled_by      : logi  NA NA NA NA NA NA ...
##  $ sample_id         : chr  "S0043" "S0045" "S0049" "S0050" ...
##  $ sample_type       : chr  "cell_line" "cell_line" "cell_line" "cell_line" ...
##  $ time_h            : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ sample_name       : chr  "CEv3_E49_13_17" "CEv3_E49_25_17" "CEv3_G89_13_17" "CEv3_G89_18_17" ...
##  $ samp_replicate    : int  1 3 1 2 3 1 2 3 2 3 ...
##  $ expt_id           : int  31 37 32 34 38 18 23 28 25 29 ...
##  $ expt_type         : chr  "baseline" "baseline" "baseline" "baseline" ...
##  $ serum             : Factor w/ 2 levels "full","starve": 1 1 1 1 1 1 1 1 1 1 ...
##  $ drug              : chr  NA NA NA NA ...
##  $ drug_conc_uM      : int  NA NA NA NA NA NA NA NA NA NA ...
##  $ exp_replicate     : Factor w/ 3 levels "1","2","3": 1 3 1 2 3 1 2 3 2 3 ...
##  $ cell_line         : chr  "CEv3_E4" "CEv3_E4" "CEv3_G8" "CEv3_G8" ...
##  $ cell_line_abbr    : Factor w/ 8 levels "C","CEv3","E4",..: 3 3 8 8 8 6 6 6 5 5 ...
##  $ cl_order          : int  10 10 8 8 8 9 9 9 6 6 ...
##  $ cl_source         : chr  "CRM" "CRM" "CRM" "CRM" ...
##  $ cl_series         : chr  "Res" "Res" "Res" "Res" ...
##  $ res_type          : chr  "culture" "culture" "culture" "culture" ...
##  $ species           : chr  "mouse" "mouse" "mouse" "mouse" ...
##  $ cell_type         : chr  "AC" "AC" "AC" "AC" ...
##  $ protein_prep_by   : chr  "MB" "MB" "MB" "MB" ...
##  $ raw_file          : chr  "20180614_SPA_MIBs_RM07.raw" "20180614_SPA_MIBs_RM09.raw" "20180614_SPA_MIBs_RM13.raw" "20180614_SPA_MIBs_RM14.raw" ...
##  $ ms_date           : int  20180614 20180614 20180614 20180614 20180614 20180614 20190531 20180614 20190531 20190531 ...
##  $ full_sample_name  : chr  "20180614_2018_LFQ_07" "20180614_2018_LFQ_09" "20180614_2018_LFQ_13" "20180614_2018_LFQ_14" ...
##  $ prep_batch        : Factor w/ 6 levels "2","3","4","5",..: 1 1 1 1 1 1 2 1 2 2 ...
##  $ resistance        : chr  "Y" "Y" "Y" "Y" ...
##  $ resistance_culture: chr  "in_vitro" "in_vitro" "in_vitro" "in_vitro" ...
##  $ resistance_drug   : chr  "erlotinib" "erlotinib" "gefitinib" "gefitinib" ...
# Add metadata EGFR TKI sensitivity status
MIB_samples$EGFR_TKI_sen <- as.factor(ifelse(MIB_samples$cell_line_abbr %in% c("E4","E5","G1","G5","G8","G12"),"Resistant","Sensitive"))

# Generate additional metadata columns
MIB_samples$condition <- paste0(MIB_samples$cell_line_abbr,".", MIB_samples$serum)

# Make measure column for DEP
MIB_samples$measure <- "Intensity"

# Make label column for DEP
MIB_samples$label <- MIB_samples$mib_quick_id

# Make replicate column for DEP
MIB_samples$replicate <- MIB_samples$exp_replicate

Data import

# Protein groups file
protein_groups_2019 <- read.table("/Data/Input/MIB-MS/Baseline/2019_proteinGroups.txt", sep = "\t", header = TRUE)

# Remove peptide groups with no mapped proteins
protein_groups_2019_genes <- subset(protein_groups_2019, protein_groups_2019$Gene.names!="")

# Subset to kinases
protein_groups_2019_kinases <- subset(protein_groups_2019_genes, protein_groups_2019_genes$Gene.names %in% c(kinases.anno$Mouse_symbol,"EGFR"))

# Change EGFR to hEGFR
protein_groups_2019_kinases$Gene.names <- replace(protein_groups_2019_kinases$Gene.names,protein_groups_2019_kinases$Gene.names %in% c("EGFR"),"hEGFR")

# Extract out intensities
protein_groups_2019_id.type <- protein_groups_2019_kinases %>% dplyr::select("Gene.names",starts_with("Identification.type.")) 
protein_groups_2019_intensity <- protein_groups_2019_kinases  %>% dplyr::select("Gene.names",starts_with("Intensity."))

# Rename columns
for (i in seq_along(names(protein_groups_2019_id.type))){
  if (i == "1") next
  colnames(protein_groups_2019_id.type)[i] <-
    sapply(strsplit(names(protein_groups_2019_id.type)[i],"\\."),'[',3)
}

for (i in seq_along(names(protein_groups_2019_intensity))){
  if (i == "1") next
  colnames(protein_groups_2019_intensity)[i] <-
    sapply(strsplit(names(protein_groups_2019_intensity)[i],"\\."),'[',2)
}

match(protein_groups_2019_intensity,protein_groups_2019_id.type)
##   [1]  1 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
##  [26] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
##  [51] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
##  [76] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
## [101] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
protein_groups_2019_intensity_adj <- protein_groups_2019_intensity

# Format data for DEP
row.names(protein_groups_2019_intensity_adj)<- protein_groups_2019_intensity_adj$Gene.names
protein_groups_2019_intensity_adj <- protein_groups_2019_intensity_adj[,-which(names(protein_groups_2019_intensity_adj) %in% c("Gene.names"))]
protein_groups_2019_intensity_adj$ID <- row.names(protein_groups_2019_intensity_adj)
protein_groups_2019_intensity_adj$name <- protein_groups_2019_intensity_adj$ID

# Remove the duplicated sample
MIB_samples <- MIB_samples[rownames(MIB_samples)!="LFQ062",]

# Drop 2018 run. Samples are not part of this experiment.
MIB_samples
##        crm_ms_run mib_id mib_quick_id protein_id mib_prep_date TMT_label
## LFQ045          3  M0025       LFQ045      P0019            NA       LFQ
## LFQ042          3  M0029       LFQ042      P0021            NA       LFQ
## LFQ008          3  M0037       LFQ008      P0025            NA       LFQ
## LFQ022          3  M0039       LFQ022      P0026            NA       LFQ
## LFQ018          3  M0041       LFQ018      P0027            NA       LFQ
## LFQ052          3  M0043       LFQ052      P0028            NA       LFQ
## LFQ005          3  M0045       LFQ005      P0029            NA       LFQ
## LFQ048          3  M0047       LFQ048      P0030            NA       LFQ
## LFQ012          3  M0051       LFQ012      P0032            NA       LFQ
## LFQ007          3  M0053       LFQ007      P0033            NA       LFQ
## LFQ057          3  M0121       LFQ057      P0100            NA       LFQ
## LFQ015          3  M0122       LFQ015      P0101            NA       LFQ
## LFQ046          3  M0123       LFQ046      P0102            NA       LFQ
## LFQ025          3  M0124       LFQ025      P0103            NA       LFQ
## LFQ009          3  M0125       LFQ009      P0104            NA       LFQ
## LFQ003          3  M0126       LFQ003      P0105            NA       LFQ
## LFQ054          3  M0127       LFQ054      P0106            NA       LFQ
## LFQ011          3  M0128       LFQ011      P0107            NA       LFQ
## LFQ021          3  M0129       LFQ021      P0108            NA       LFQ
## LFQ029          3  M0142       LFQ029      P0121            NA       LFQ
## LFQ004          3  M0143       LFQ004      P0122            NA       LFQ
## LFQ035          3  M0144       LFQ035      P0123            NA       LFQ
## LFQ038          3  M0163       LFQ038      P0142            NA       LFQ
## LFQ034          3  M0164       LFQ034      P0143            NA       LFQ
## LFQ047          3  M0165       LFQ047      P0144            NA       LFQ
## LFQ049          3  M0178       LFQ049      P0157            NA       LFQ
## LFQ016          3  M0179       LFQ016      P0158            NA       LFQ
## LFQ037          3  M0180       LFQ037      P0159            NA       LFQ
## LFQ063          3  M0200       LFQ063      P0179            NA       LFQ
## LFQ064          3  M0201       LFQ064      P0180            NA       LFQ
## LFQ065          3  M0214       LFQ065      P0193            NA       LFQ
## LFQ066          3  M0215       LFQ066      P0194            NA       LFQ
## LFQ067          3  M0216       LFQ067      P0195            NA       LFQ
## LFQ077          3  M0327       LFQ077      P0306            NA       LFQ
## LFQ078          3  M0328       LFQ078      P0307            NA       LFQ
## LFQ079          3  M0329       LFQ079      P0308            NA       LFQ
## LFQ080          3  M0330       LFQ080      P0309            NA       LFQ
## LFQ081          3  M0331       LFQ081      P0310            NA       LFQ
## LFQ082          3  M0332       LFQ082      P0311            NA       LFQ
## LFQ083          3  M0333       LFQ083      P0312            NA       LFQ
## LFQ084          3  M0334       LFQ084      P0313            NA       LFQ
## LFQ085          3  M0335       LFQ085      P0314            NA       LFQ
## LFQ086          3  M0336       LFQ086      P0315            NA       LFQ
## LFQ087          3  M0337       LFQ087      P0316            NA       LFQ
## LFQ088          3  M0338       LFQ088      P0317            NA       LFQ
##        ms_pool_type ms_pool_date ms_pooled_by sample_id sample_type time_h
## LFQ045          LFQ           NA           NA     S0043   cell_line      0
## LFQ042          LFQ           NA           NA     S0045   cell_line      0
## LFQ008          LFQ           NA           NA     S0049   cell_line      0
## LFQ022          LFQ           NA           NA     S0050   cell_line      0
## LFQ018          LFQ           NA           NA     S0051   cell_line      0
## LFQ052          LFQ           NA           NA     S0052   cell_line      0
## LFQ005          LFQ           NA           NA     S0053   cell_line      0
## LFQ048          LFQ           NA           NA     S0054   cell_line      0
## LFQ012          LFQ           NA           NA     S0056   cell_line      0
## LFQ007          LFQ           NA           NA     S0057   cell_line      0
## LFQ057          LFQ           NA           NA     S0100   cell_line      0
## LFQ015          LFQ           NA           NA     S0101   cell_line      0
## LFQ046          LFQ           NA           NA     S0102   cell_line      0
## LFQ025          LFQ           NA           NA     S0103   cell_line      0
## LFQ009          LFQ           NA           NA     S0104   cell_line      0
## LFQ003          LFQ           NA           NA     S0105   cell_line      0
## LFQ054          LFQ           NA           NA     S0106   cell_line      0
## LFQ011          LFQ           NA           NA     S0107   cell_line      0
## LFQ021          LFQ           NA           NA     S0108   cell_line      0
## LFQ029          LFQ           NA           NA     S0121   cell_line      0
## LFQ004          LFQ           NA           NA     S0122   cell_line      0
## LFQ035          LFQ           NA           NA     S0123   cell_line      0
## LFQ038          LFQ           NA           NA     S0142   cell_line      0
## LFQ034          LFQ           NA           NA     S0143   cell_line      0
## LFQ047          LFQ           NA           NA     S0144   cell_line      0
## LFQ049          LFQ           NA           NA     S0157   cell_line      0
## LFQ016          LFQ           NA           NA     S0158   cell_line      0
## LFQ037          LFQ           NA           NA     S0159   cell_line      0
## LFQ063          LFQ           NA           NA     S0179   cell_line      0
## LFQ064          LFQ           NA           NA     S0180   cell_line      0
## LFQ065          LFQ           NA           NA     S0193   cell_line      0
## LFQ066          LFQ           NA           NA     S0194   cell_line      0
## LFQ067          LFQ           NA           NA     S0195   cell_line      0
## LFQ077          LFQ           NA           NA     S0306   cell_line      0
## LFQ078          LFQ           NA           NA     S0307   cell_line      0
## LFQ079          LFQ           NA           NA     S0308   cell_line      0
## LFQ080          LFQ           NA           NA     S0309   cell_line      0
## LFQ081          LFQ           NA           NA     S0310   cell_line      0
## LFQ082          LFQ           NA           NA     S0311   cell_line      0
## LFQ083          LFQ           NA           NA     S0312   cell_line      0
## LFQ084          LFQ           NA           NA     S0313   cell_line      0
## LFQ085          LFQ           NA           NA     S0314   cell_line      0
## LFQ086          LFQ           NA           NA     S0315   cell_line      0
## LFQ087          LFQ           NA           NA     S0316   cell_line      0
## LFQ088          LFQ           NA           NA     S0317   cell_line      0
##             sample_name samp_replicate expt_id expt_type  serum drug
## LFQ045   CEv3_E49_13_17              1      31  baseline   full <NA>
## LFQ042   CEv3_E49_25_17              3      37  baseline   full <NA>
## LFQ008   CEv3_G89_13_17              1      32  baseline   full <NA>
## LFQ022   CEv3_G89_18_17              2      34  baseline   full <NA>
## LFQ018   CEv3_G89_25_17              3      38  baseline   full <NA>
## LFQ052  CEv3_G126_20_17              1      18  baseline   full <NA>
## LFQ005  CEv3_G126_23_17              2      23  baseline   full <NA>
## LFQ048  CEv3_G126_30_17              3      28  baseline   full <NA>
## LFQ012   CEv3_G16_24_17              2      25  baseline   full <NA>
## LFQ007   CEv3_G16_30_17              3      29  baseline   full <NA>
## LFQ057   CEv3_G59_26_17              1      40  baseline   full <NA>
## LFQ015   CEv3_G510_9_17              2      41  baseline   full <NA>
## LFQ046  CEv3_G510_10_17              3      42  baseline   full <NA>
## LFQ025    CEv3_E5913_17              1      33  baseline   full <NA>
## LFQ009   CEv3_E59_18_17              2      35  baseline   full <NA>
## LFQ003   CEv3_E59_25_17              3      39  baseline   full <NA>
## LFQ054 X2018_Summer_001              1      79  baseline starve <NA>
## LFQ011 X2018_Summer_002              2      83  baseline starve <NA>
## LFQ021 X2018_Summer_003              3      87  baseline starve <NA>
## LFQ029 X2018_Summer_016              1     103  baseline   full <NA>
## LFQ004 X2018_Summer_017              2     109  baseline   full <NA>
## LFQ035 X2018_Summer_018              3     113  baseline   full <NA>
## LFQ038 X2018_Summer_037              1      81  baseline starve <NA>
## LFQ034 X2018_Summer_038              2      85  baseline starve <NA>
## LFQ047 X2018_Summer_039              3      89  baseline starve <NA>
## LFQ049 X2018_Summer_052              1     105  baseline   full <NA>
## LFQ016 X2018_Summer_053              2     111  baseline   full <NA>
## LFQ037 X2018_Summer_054              3     115  baseline   full <NA>
## LFQ063 X2018_Summer_074              2     122  baseline starve <NA>
## LFQ064 X2018_Summer_075              3     126  baseline starve <NA>
## LFQ065 X2018_Summer_088              1     119  baseline starve <NA>
## LFQ066 X2018_Summer_089              2     123  baseline starve <NA>
## LFQ067 X2018_Summer_090              3     127  baseline starve <NA>
## LFQ077 X2018_Summer_201              1     171  baseline starve <NA>
## LFQ078 X2018_Summer_202              2     175  baseline starve <NA>
## LFQ079 X2018_Summer_203              3     179  baseline starve <NA>
## LFQ080 X2018_Summer_204              1     172  baseline starve <NA>
## LFQ081 X2018_Summer_205              2     176  baseline starve <NA>
## LFQ082 X2018_Summer_206              3     180  baseline starve <NA>
## LFQ083 X2018_Summer_207              1     173  baseline starve <NA>
## LFQ084 X2018_Summer_208              2     177  baseline starve <NA>
## LFQ085 X2018_Summer_209              3     181  baseline starve <NA>
## LFQ086 X2018_Summer_210              1     174  baseline starve <NA>
## LFQ087 X2018_Summer_211              2     178  baseline starve <NA>
## LFQ088 X2018_Summer_212              3     182  baseline starve <NA>
##        drug_conc_uM exp_replicate cell_line cell_line_abbr cl_order cl_source
## LFQ045           NA             1   CEv3_E4             E4       10       CRM
## LFQ042           NA             3   CEv3_E4             E4       10       CRM
## LFQ008           NA             1   CEv3_G8             G8        8       CRM
## LFQ022           NA             2   CEv3_G8             G8        8       CRM
## LFQ018           NA             3   CEv3_G8             G8        8       CRM
## LFQ052           NA             1  CEv3_G12            G12        9       CRM
## LFQ005           NA             2  CEv3_G12            G12        9       CRM
## LFQ048           NA             3  CEv3_G12            G12        9       CRM
## LFQ012           NA             2   CEv3_G1             G1        6       CRM
## LFQ007           NA             3   CEv3_G1             G1        6       CRM
## LFQ057           NA             1   CEv3_G5             G5        7       CRM
## LFQ015           NA             2   CEv3_G5             G5        7       CRM
## LFQ046           NA             3   CEv3_G5             G5        7       CRM
## LFQ025           NA             1   CEv3_E5             E5       11       CRM
## LFQ009           NA             2   CEv3_E5             E5       11       CRM
## LFQ003           NA             3   CEv3_E5             E5       11       CRM
## LFQ054           NA             1     C_MAP              C        1       CRM
## LFQ011           NA             2     C_MAP              C        1       CRM
## LFQ021           NA             3     C_MAP              C        1       CRM
## LFQ029           NA             1     C_MAP              C        1       CRM
## LFQ004           NA             2     C_MAP              C        1       CRM
## LFQ035           NA             3     C_MAP              C        1       CRM
## LFQ038           NA             1   CEv3_PC           CEv3        4       CRM
## LFQ034           NA             2   CEv3_PC           CEv3        4       CRM
## LFQ047           NA             3   CEv3_PC           CEv3        4       CRM
## LFQ049           NA             1   CEv3_PC           CEv3        4       CRM
## LFQ016           NA             2   CEv3_PC           CEv3        4       CRM
## LFQ037           NA             3   CEv3_PC           CEv3        4       CRM
## LFQ063           NA             2   CEv3_E4             E4       10       CRM
## LFQ064           NA             3   CEv3_E4             E4       10       CRM
## LFQ065           NA             1   CEv3_E5             E5       11       CRM
## LFQ066           NA             2   CEv3_E5             E5       11       CRM
## LFQ067           NA             3   CEv3_E5             E5       11       CRM
## LFQ077           NA             1   CEv3_G1             G1        6       CRM
## LFQ078           NA             2   CEv3_G1             G1        6       CRM
## LFQ079           NA             3   CEv3_G1             G1        6       CRM
## LFQ080           NA             1   CEv3_G5             G5        7       CRM
## LFQ081           NA             2   CEv3_G5             G5        7       CRM
## LFQ082           NA             3   CEv3_G5             G5        7       CRM
## LFQ083           NA             1   CEv3_G8             G8        8       CRM
## LFQ084           NA             2   CEv3_G8             G8        8       CRM
## LFQ085           NA             3   CEv3_G8             G8        8       CRM
## LFQ086           NA             1  CEv3_G12            G12        9       CRM
## LFQ087           NA             2  CEv3_G12            G12        9       CRM
## LFQ088           NA             3  CEv3_G12            G12        9       CRM
##        cl_series res_type species cell_type protein_prep_by
## LFQ045       Res  culture   mouse        AC              MB
## LFQ042       Res  culture   mouse        AC              MB
## LFQ008       Res  culture   mouse        AC              MB
## LFQ022       Res  culture   mouse        AC              MB
## LFQ018       Res  culture   mouse        AC              MB
## LFQ052       Res  culture   mouse        AC              AF
## LFQ005       Res  culture   mouse        AC              AF
## LFQ048       Res  culture   mouse        AC              AF
## LFQ012       Res  culture   mouse        AC              AF
## LFQ007       Res  culture   mouse        AC              AF
## LFQ057       Res  culture   mouse        AC              MB
## LFQ015       Res  culture   mouse        AC              MB
## LFQ046       Res  culture   mouse        AC              MB
## LFQ025       Res  culture   mouse        AC              MB
## LFQ009       Res  culture   mouse        AC              MB
## LFQ003       Res  culture   mouse        AC              MB
## LFQ054      Core     <NA>   mouse        AC             AKS
## LFQ011      Core     <NA>   mouse        AC              ES
## LFQ021      Core     <NA>   mouse        AC              ES
## LFQ029      Core     <NA>   mouse        AC              ES
## LFQ004      Core     <NA>   mouse        AC              ES
## LFQ035      Core     <NA>   mouse        AC              ES
## LFQ038      Core     <NA>   mouse        AC             AKS
## LFQ034      Core     <NA>   mouse        AC             AKS
## LFQ047      Core     <NA>   mouse        AC             AKS
## LFQ049      Core     <NA>   mouse        AC             AKS
## LFQ016      Core     <NA>   mouse        AC             AKS
## LFQ037      Core     <NA>   mouse        AC             AKS
## LFQ063       Res  culture   mouse        AC             AKS
## LFQ064       Res  culture   mouse        AC             AKS
## LFQ065       Res  culture   mouse        AC             AKS
## LFQ066       Res  culture   mouse        AC             AKS
## LFQ067       Res  culture   mouse        AC             AKS
## LFQ077       Res  culture   mouse        AC              ES
## LFQ078       Res  culture   mouse        AC              ES
## LFQ079       Res  culture   mouse        AC              ES
## LFQ080       Res  culture   mouse        AC              ES
## LFQ081       Res  culture   mouse        AC              ES
## LFQ082       Res  culture   mouse        AC              ES
## LFQ083       Res  culture   mouse        AC             AKS
## LFQ084       Res  culture   mouse        AC             AKS
## LFQ085       Res  culture   mouse        AC             AKS
## LFQ086       Res  culture   mouse        AC             AKS
## LFQ087       Res  culture   mouse        AC             AKS
## LFQ088       Res  culture   mouse        AC              ES
##                               raw_file  ms_date     full_sample_name prep_batch
## LFQ045      20180614_SPA_MIBs_RM07.raw 20180614 20180614_2018_LFQ_07          2
## LFQ042      20180614_SPA_MIBs_RM09.raw 20180614 20180614_2018_LFQ_09          2
## LFQ008      20180614_SPA_MIBs_RM13.raw 20180614 20180614_2018_LFQ_13          2
## LFQ022      20180614_SPA_MIBs_RM14.raw 20180614 20180614_2018_LFQ_14          2
## LFQ018      20180614_SPA_MIBs_RM15.raw 20180614 20180614_2018_LFQ_15          2
## LFQ052      20180614_SPA_MIBs_RM16.raw 20180614 20180614_2018_LFQ_16          2
## LFQ005  20190531_MIBs_Miller_LFQ_5.raw 20190531      20190531_LFQ005          3
## LFQ048      20180614_SPA_MIBs_RM18.raw 20180614 20180614_2018_LFQ_18          2
## LFQ012 20190531_MIBs_Miller_LFQ_12.raw 20190531      20190531_LFQ012          3
## LFQ007  20190531_MIBs_Miller_LFQ_7.raw 20190531      20190531_LFQ007          3
## LFQ057 20190607_MIBs_Miller_LFQ_57.raw 20190607      20190607_LFQ057          5
## LFQ015 20190531_MIBs_Miller_LFQ_15.raw 20190531      20190531_LFQ015          3
## LFQ046 20190604_MIBs_Miller_LFQ_46.raw 20190604      20190604_LFQ046          5
## LFQ025 20190530_MIBs_Miller_LFQ_25.raw 20190530      20190530_LFQ025          4
## LFQ009  20190531_MIBs_Miller_LFQ_9.raw 20190531      20190531_LFQ009          3
## LFQ003  20190531_MIBs_Miller_LFQ_3.raw 20190531      20190531_LFQ003          3
## LFQ054 20190607_MIBs_Miller_LFQ_54.raw 20190607      20190607_LFQ054          5
## LFQ011 20190531_MIBs_Miller_LFQ_11.raw 20190531      20190531_LFQ011          3
## LFQ021 20190530_MIBs_Miller_LFQ_21.raw 20190530      20190530_LFQ021          4
## LFQ029 20190530_MIBs_Miller_LFQ_29.raw 20190530      20190530_LFQ029          4
## LFQ004  20190531_MIBs_Miller_LFQ_4.raw 20190531      20190531_LFQ004          3
## LFQ035 20190604_MIBs_Miller_LFQ_35.raw 20190604      20190604_LFQ035          4
## LFQ038 20190604_MIBs_Miller_LFQ_38.raw 20190604      20190604_LFQ038          4
## LFQ034 20190604_MIBs_Miller_LFQ_34.raw 20190604      20190604_LFQ034          4
## LFQ047 20190604_MIBs_Miller_LFQ_47.raw 20190604      20190604_LFQ047          5
## LFQ049 20190607_MIBs_Miller_LFQ_49.raw 20190607      20190607_LFQ049          5
## LFQ016 20190531_MIBs_Miller_LFQ_16.raw 20190531      20190531_LFQ016          3
## LFQ037 20190604_MIBs_Miller_LFQ_37.raw 20190604      20190604_LFQ037          4
## LFQ063 20190607_MIBs_Miller_LFQ_62.raw 20190607    20190607_LFQ062_2          6
## LFQ064 20190607_MIBs_Miller_LFQ_63.raw 20190607      20190607_LFQ063          6
## LFQ065 20190607_MIBs_Miller_LFQ_64.raw 20190607      20190607_LFQ064          6
## LFQ066 20190607_MIBs_Miller_LFQ_65.raw 20190607      20190607_LFQ065          6
## LFQ067 20190607_MIBs_Miller_LFQ_66.raw 20190607      20190607_LFQ066          6
## LFQ077 20190610_MIBs_Miller_LFQ_76.raw 20190610      20190610_LFQ076          8
## LFQ078 20190610_MIBs_Miller_LFQ_77.raw 20190610      20190610_LFQ077          8
## LFQ079 20190610_MIBs_Miller_LFQ_78.raw 20190610      20190610_LFQ078          8
## LFQ080 20190610_MIBs_Miller_LFQ_79.raw 20190610      20190610_LFQ079          8
## LFQ081 20190610_MIBs_Miller_LFQ_80.raw 20190610      20190610_LFQ080          8
## LFQ082 20190610_MIBs_Miller_LFQ_81.raw 20190610      20190610_LFQ081          8
## LFQ083 20190610_MIBs_Miller_LFQ_82.raw 20190610      20190610_LFQ082          8
## LFQ084 20190610_MIBs_Miller_LFQ_83.raw 20190610      20190610_LFQ083          8
## LFQ085 20190610_MIBs_Miller_LFQ_84.raw 20190610      20190610_LFQ084          8
## LFQ086 20190610_MIBs_Miller_LFQ_85.raw 20190610      20190610_LFQ085          8
## LFQ087 20190610_MIBs_Miller_LFQ_86.raw 20190610      20190610_LFQ086          8
## LFQ088 20190610_MIBs_Miller_LFQ_87.raw 20190610      20190610_LFQ087          8
##        resistance resistance_culture resistance_drug EGFR_TKI_sen   condition
## LFQ045          Y           in_vitro       erlotinib    Resistant     E4.full
## LFQ042          Y           in_vitro       erlotinib    Resistant     E4.full
## LFQ008          Y           in_vitro       gefitinib    Resistant     G8.full
## LFQ022          Y           in_vitro       gefitinib    Resistant     G8.full
## LFQ018          Y           in_vitro       gefitinib    Resistant     G8.full
## LFQ052          Y           in_vitro       gefitinib    Resistant    G12.full
## LFQ005          Y           in_vitro       gefitinib    Resistant    G12.full
## LFQ048          Y           in_vitro       gefitinib    Resistant    G12.full
## LFQ012          Y           in_vitro       gefitinib    Resistant     G1.full
## LFQ007          Y           in_vitro       gefitinib    Resistant     G1.full
## LFQ057          Y           in_vitro       gefitinib    Resistant     G5.full
## LFQ015          Y           in_vitro       gefitinib    Resistant     G5.full
## LFQ046          Y           in_vitro       gefitinib    Resistant     G5.full
## LFQ025          Y           in_vitro       erlotinib    Resistant     E5.full
## LFQ009          Y           in_vitro       erlotinib    Resistant     E5.full
## LFQ003          Y           in_vitro       erlotinib    Resistant     E5.full
## LFQ054          N               none                    Sensitive    C.starve
## LFQ011          N               none                    Sensitive    C.starve
## LFQ021          N               none                    Sensitive    C.starve
## LFQ029          N               none                    Sensitive      C.full
## LFQ004          N               none                    Sensitive      C.full
## LFQ035          N               none                    Sensitive      C.full
## LFQ038          Y           in_vitro            none    Sensitive CEv3.starve
## LFQ034          Y           in_vitro            none    Sensitive CEv3.starve
## LFQ047          Y           in_vitro            none    Sensitive CEv3.starve
## LFQ049          Y           in_vitro            none    Sensitive   CEv3.full
## LFQ016          Y           in_vitro            none    Sensitive   CEv3.full
## LFQ037          Y           in_vitro            none    Sensitive   CEv3.full
## LFQ063          Y           in_vitro       erlotinib    Resistant   E4.starve
## LFQ064          Y           in_vitro       erlotinib    Resistant   E4.starve
## LFQ065          Y           in_vitro       erlotinib    Resistant   E5.starve
## LFQ066          Y           in_vitro       erlotinib    Resistant   E5.starve
## LFQ067          Y           in_vitro       erlotinib    Resistant   E5.starve
## LFQ077          Y            in_vivo       gefitinib    Resistant   G1.starve
## LFQ078          Y           in_vitro       gefitinib    Resistant   G1.starve
## LFQ079          Y           in_vitro       gefitinib    Resistant   G1.starve
## LFQ080          Y           in_vitro       gefitinib    Resistant   G5.starve
## LFQ081          Y           in_vitro       gefitinib    Resistant   G5.starve
## LFQ082          Y           in_vitro       gefitinib    Resistant   G5.starve
## LFQ083          Y           in_vitro       gefitinib    Resistant   G8.starve
## LFQ084          Y           in_vitro       gefitinib    Resistant   G8.starve
## LFQ085          Y           in_vitro       gefitinib    Resistant   G8.starve
## LFQ086          Y           in_vitro       gefitinib    Resistant  G12.starve
## LFQ087          Y           in_vitro       gefitinib    Resistant  G12.starve
## LFQ088          Y           in_vitro       gefitinib    Resistant  G12.starve
##          measure  label replicate
## LFQ045 Intensity LFQ045         1
## LFQ042 Intensity LFQ042         3
## LFQ008 Intensity LFQ008         1
## LFQ022 Intensity LFQ022         2
## LFQ018 Intensity LFQ018         3
## LFQ052 Intensity LFQ052         1
## LFQ005 Intensity LFQ005         2
## LFQ048 Intensity LFQ048         3
## LFQ012 Intensity LFQ012         2
## LFQ007 Intensity LFQ007         3
## LFQ057 Intensity LFQ057         1
## LFQ015 Intensity LFQ015         2
## LFQ046 Intensity LFQ046         3
## LFQ025 Intensity LFQ025         1
## LFQ009 Intensity LFQ009         2
## LFQ003 Intensity LFQ003         3
## LFQ054 Intensity LFQ054         1
## LFQ011 Intensity LFQ011         2
## LFQ021 Intensity LFQ021         3
## LFQ029 Intensity LFQ029         1
## LFQ004 Intensity LFQ004         2
## LFQ035 Intensity LFQ035         3
## LFQ038 Intensity LFQ038         1
## LFQ034 Intensity LFQ034         2
## LFQ047 Intensity LFQ047         3
## LFQ049 Intensity LFQ049         1
## LFQ016 Intensity LFQ016         2
## LFQ037 Intensity LFQ037         3
## LFQ063 Intensity LFQ063         2
## LFQ064 Intensity LFQ064         3
## LFQ065 Intensity LFQ065         1
## LFQ066 Intensity LFQ066         2
## LFQ067 Intensity LFQ067         3
## LFQ077 Intensity LFQ077         1
## LFQ078 Intensity LFQ078         2
## LFQ079 Intensity LFQ079         3
## LFQ080 Intensity LFQ080         1
## LFQ081 Intensity LFQ081         2
## LFQ082 Intensity LFQ082         3
## LFQ083 Intensity LFQ083         1
## LFQ084 Intensity LFQ084         2
## LFQ085 Intensity LFQ085         3
## LFQ086 Intensity LFQ086         1
## LFQ087 Intensity LFQ087         2
## LFQ088 Intensity LFQ088         3
protein_groups_2019_intensity_adj <- protein_groups_2019_intensity_adj %>% dplyr::select(MIB_samples$mib_quick_id)
protein_groups_2019_intensity_adj$ID <- row.names(protein_groups_2019_intensity_adj)
protein_groups_2019_intensity_adj$name <- protein_groups_2019_intensity_adj$ID
# Copy over adjusted intensity matrix
se_data_2019 <- protein_groups_2019_intensity_adj
se_data_2019 <- protein_groups_2019_intensity_adj[,!colnames(protein_groups_2019_intensity_adj) %in% c("LFQ062_1","LFQ062_2")]

# Extract sample names from data matrix
cols <- grep("LFQ", colnames(se_data_2019))

# Check samples match between data matrix and sample sheet
MIB_samples$label %in% colnames(se_data_2019)
##  [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [31] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
MIB_samples$label[!(MIB_samples$label %in% colnames(se_data_2019))]
## character(0)
# Save sample sheet
write.csv(MIB_samples, file=paste0(MIB_output,"MIB_baseline_SampleSheet.csv"))

# Save Raw counts
write.csv(se_data_2019, file=paste0(MIB_output,"MIB_baseline_RawData.csv") )

# Make DEP object
se_mibs_BL_raw <- DEP::make_se(se_data_2019, cols, MIB_samples)

Split by serum culture status

# Split sample sheets
MIB_samples_fs <- subset(MIB_samples, MIB_samples$serum=="full")
MIB_samples_ss <- subset(MIB_samples, MIB_samples$serum=="starve")

# Split DEP object
se_mibs_BL_raw_fs <- se_mibs_BL_raw[,paste0(MIB_samples_fs$condition,"_",MIB_samples_fs$replicate)]
se_mibs_BL_raw_ss <- se_mibs_BL_raw[,paste0(MIB_samples_ss$condition,"_",MIB_samples_ss$replicate)]

VST

# Build summarized experiment object
se_mibs_BL_vsn <- DEP::normalize_vsn(se_mibs_BL_raw)
## Warning in vsnSample(v): 1 rows were removed since they contained only NA
## elements.
# Separated before batch correction
se_mibs_BL_vsn_fs <- DEP::normalize_vsn(se_mibs_BL_raw_fs)
## Warning in vsnSample(v): 6 rows were removed since they contained only NA
## elements.
se_mibs_BL_vsn_ss <- DEP::normalize_vsn(se_mibs_BL_raw_ss)
## Warning in vsnSample(v): 5 rows were removed since they contained only NA
## elements.
# Pre and post normalization comparision
DEP::plot_normalization(se_mibs_BL_raw,se_mibs_BL_vsn)

Identify missing values

# Plot a heatmap of proteins with missing values
missval_plot <- DEP::plot_missval(se_mibs_BL_vsn)

missval_plot

# Frequency plot of missing values
freq_plot <- DEP::plot_frequency(se_mibs_BL_vsn)
freq_plot

# Plot intensity distributions and cumulative fraction of proteins with and without missing values
detect_plot <- DEP::plot_detect(se_mibs_BL_vsn)
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_line()`).

detect_plot
## TableGrob (2 x 1) "arrange": 2 grobs
##   z     cells    name           grob
## 1 1 (1-1,1-1) arrange gtable[layout]
## 2 2 (2-2,1-1) arrange gtable[layout]

Impute missing values

# Impute missing data using random draws from a manually defined left-shifted Gaussian distribution (for MNAR)
# scale Numeric(1), Sets the width of the distribution relative to the standard deviation of the original distribution
# shift Numeric(1), Sets the left-shift of the distribution (in standard deviations) from the median of the original distribution.

# # Begin comment out
# 
# # # Comment out after running once to lock in imputed values
# set.seed(888)
# se_mibs_BL_mv <- DEP::impute(se_mibs_BL_vsn, fun = "man", shift = 3, scale = 0.3)
# 
# # # Impute and batch correct separately
# # se_mibs_BL_mv_fs <- DEP::impute(se_mibs_BL_vsn_fs, fun = "man", shift = 3, scale = 0.3)
# # se_mibs_BL_mv_ss <- DEP::impute(se_mibs_BL_vsn_ss, fun = "man", shift = 3, scale = 0.3)
# 
# # write imputation data to RDS and csv to 'lock in' that specific imputation. Writing to both the impute folder and the output folder simultaneously.
# saveRDS(se_mibs_BL_mv,file = paste0("/Data/Input/MIB-MS/Baseline/","se_mibs_BL_mv",".rds"))
# saveRDS(se_mibs_BL_mv,file = paste0(MIB_output,"se_mibs_BL_mv",".rds"))
# write.csv(assays(se_mibs_BL_mv), paste0("/Data/Input/MIB-MS/Baseline/","se_mibs_BL_mv",".csv"))
# write.csv(assays(se_mibs_BL_mv), paste0(MIB_output,"se_mibs_BL_mv",".csv"))
# 
# # End comment out

# read in imputation RDS to use for rest of code
se_mibs_BL_mv <- readRDS(paste0("/Data/Input/MIB-MS/Baseline/","se_mibs_BL_mv",".rds"))

# Plot intensity distributions before and after imputation
impute_plot <- DEP::plot_imputation(se_mibs_BL_vsn, se_mibs_BL_mv)
impute_plot

Batch correction

# Batch correction using Limma
se_mibs_BL_bc <- se_mibs_BL_mv
assay(se_mibs_BL_bc) <- limma::removeBatchEffect(assay(se_mibs_BL_bc), batch = se_mibs_BL_bc@colData$prep_batch)

Pre-processing QC

Box plots Full dataset

boxplot(assay(se_mibs_BL_raw), las=2, ylab="log2 ratio", main="Raw")

boxplot(assay(se_mibs_BL_vsn), las=2, ylab="log2 ratio", main=paste0("vsn"))

boxplot(assay(se_mibs_BL_mv), las=2, ylab="log2 ratio", main=paste0("impute missing values"))

boxplot(assay(se_mibs_BL_bc), las=2, ylab="log2 ratio", main=paste0("batch correction"))

PCA Full Dataset

Complete Dataset imputed
# Create pca object
pcaData <- PCAtools::pca(assay(se_mibs_BL_mv), metadata = colData(se_mibs_BL_mv))

# Set colors
color_vector <-
  c(
    'C' = 'black',
    'CEv3' = 'red',
    'E4'='deepskyblue4',
    'E5'='turquoise3',
    'G1'='purple4',
    'G5'='mediumorchid',
    'G8'='deeppink',
    'G12'='pink2'  )

# PCA 1
p1 <- biplot(pcaData, x = "PC1", y = "PC2",
       lab = NULL ,
       colby = "cell_line_abbr",
       colkey = color_vector,       
       shape = "serum",
       legendPosition = 'right' )
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
p1

##### Complete Dataset batch corrected

# Create pca object
pcaData <- PCAtools::pca(assay(se_mibs_BL_bc), metadata = colData(se_mibs_BL_bc))

# Set colors
color_vector <-
  c(
    'C' = 'black',
    'CEv3' = 'red',
    'E4'='deepskyblue4',
    'E5'='turquoise3',
    'G1'='purple4',
    'G5'='mediumorchid',
    'G8'='deeppink',
    'G12'='pink2'  )

# PCA 1
p1 <- biplot(pcaData, x = "PC1", y = "PC2",
       lab = NULL ,
       colby = "cell_line_abbr",
       colkey = color_vector,       
       shape = "serum",
       legendPosition = 'right' )
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
p1

Subset groups for EDA

# MIB_samples

# Extract baseline parental samples
MIB_samples_bl_Par <- subset(MIB_samples, MIB_samples$cell_line_abbr %in% c("CEv3","C"))

# Split by serum status
MIB_samples_bl_Par_fs <- subset(MIB_samples_bl_Par, MIB_samples_bl_Par$serum=="full")
MIB_samples_bl_Par_ss <- subset(MIB_samples_bl_Par, MIB_samples_bl_Par$serum=="starve")

# Extract Baseline Res samples
MIB_samples_bl_Res <- subset(MIB_samples, MIB_samples$cell_line_abbr %in% c("CEv3","E4","E5","G1","G5","G8","G12"))

# Split by serum status
MIB_samples_bl_Res_fs <- subset(MIB_samples_bl_Res, MIB_samples_bl_Res$serum=="full")
MIB_samples_bl_Res_ss <- subset(MIB_samples_bl_Res, MIB_samples_bl_Res$serum=="starve")


MIB_samples_EDA_ls <- list(bl_Par_fs=MIB_samples_bl_Par_fs,
                           bl_Par_ss=MIB_samples_bl_Par_ss,
                           bl_Res_fs=MIB_samples_bl_Res_fs,
                           bl_Res_ss=MIB_samples_bl_Res_ss,
                           bl_Par=MIB_samples_bl_Par,
                           bl_Res=MIB_samples_bl_Res)

DEP_EDA_subset

Directories

# Directories for DEP_Bl_Par
dir.create(paste0(MIB_graphs,"DEP_EDA_subset"))
dir.create(paste0(MIB_output,"DEP_EDA_subset"))
graph_dir <- paste0(MIB_graphs,"DEP_EDA_subset/")
output_dir <- paste0(MIB_output,"DEP_EDA_subset/")

Subset

# List of sample sheet subsets for EDA
# MIB_samples_EDA_ls

# Complete imputed mv
se_mibs_BL_mv
## class: SummarizedExperiment 
## dim: 325 45 
## metadata(0):
## assays(1): ''
## rownames(325): Ttn Ephb6 ... Rps6ka4 Stk25
## rowData names(4): ID name imputed num_NAs
## colnames(45): E4.full_1 E4.full_3 ... G12.starve_2 G12.starve_3
## colData names(57): crm_ms_run mib_id ... label replicate
# Complet batch corrected values
se_mibs_BL_bc
## class: SummarizedExperiment 
## dim: 325 45 
## metadata(0):
## assays(1): ''
## rownames(325): Ttn Ephb6 ... Rps6ka4 Stk25
## rowData names(4): ID name imputed num_NAs
## colnames(45): E4.full_1 E4.full_3 ... G12.starve_2 G12.starve_3
## colData names(57): crm_ms_run mib_id ... label replicate
# Save sample sheet
for (i in seq_along(MIB_samples_EDA_ls)){
  dir.create(paste0(graph_dir,names(MIB_samples_EDA_ls)[i]))
  dir.create(paste0(output_dir,names(MIB_samples_EDA_ls)[i]))
  write.csv(MIB_samples_EDA_ls[[i]], file=paste0(output_dir,names(MIB_samples_EDA_ls)[i],"/MIB_samples",".csv"))
}

# Generate se subsets for DEP EDA
DEP_EDA_mv_ls <- list()
DEP_EDA_bc_ls <- list()
for (i in seq_along(MIB_samples_EDA_ls)){
  
  # Generate se object for imputed missing values
  DEP_EDA_mv_ls[[names(MIB_samples_EDA_ls)[i]]] <-
    se_mibs_BL_mv[,paste0(MIB_samples_EDA_ls[[i]]$condition,"_",MIB_samples_EDA_ls[[i]]$replicate)]
  # Save as RDS
  saveRDS(DEP_EDA_mv_ls[[names(MIB_samples_EDA_ls)[i]]], file = paste0(output_dir,names(MIB_samples_EDA_ls)[i],"/",format(Sys.Date(),"%y%m%d"),"_",names(MIB_samples_EDA_ls)[i],"_mv_",".rds"))
 
   # Generate se object for batch corrected values
  DEP_EDA_bc_ls[[names(MIB_samples_EDA_ls)[i]]] <-
    se_mibs_BL_bc[,paste0(MIB_samples_EDA_ls[[i]]$condition,"_",MIB_samples_EDA_ls[[i]]$replicate)]
  # Save as RDS
  saveRDS(DEP_EDA_bc_ls[[names(MIB_samples_EDA_ls)[i]]], file = paste0(output_dir,names(MIB_samples_EDA_ls)[i],"/",format(Sys.Date(),"%y%m%d"),"_",names(MIB_samples_EDA_ls)[i],"_bc_",".rds"))
  
  # Save imputed(raw) and batch corrected (norm) norm counts
  norm_counts <- as.data.frame(assay(DEP_EDA_bc_ls[[names(MIB_samples_EDA_ls)[i]]]))
  raw_counts <- as.data.frame(assay(DEP_EDA_mv_ls[[names(MIB_samples_EDA_ls)[i]]]))

  write.csv(
  norm_counts,
  file=paste0(output_dir,names(MIB_samples_EDA_ls)[i],"/","norm_counts",".csv"),
  row.names = TRUE
  )

  write.csv(
  raw_counts,
  file=paste0(output_dir,names(MIB_samples_EDA_ls)[i],"/","raw_counts",".csv"),
  row.names = TRUE
  )
}

PCA

# PCA with all genes

for(h in seq_along(DEP_EDA_bc_ls)){
  
  # Directories
  PCA_graph <- paste0(graph_dir,names(DEP_EDA_bc_ls)[h],"/")
  PCA_output <- paste0(output_dir,names(DEP_EDA_bc_ls)[h],"/")
  
  # Extract single
  DEP_bc <- DEP_EDA_bc_ls[[h]]
  
  # Create pca object
  pcaData <- PCAtools::pca(assay(DEP_bc), metadata = colData(DEP_bc))
  
  # Save pca data
  write.csv(pcaData$rotated, file =paste0(PCA_output,"pcaData","DEP_bc",".csv"))
  
  # Set colors
  color_vector <-
    c(
    'C' = 'black',
    'CEv3' = 'red',
    'E4' = 'deepskyblue4',
    'E5' = 'turquoise3',
    'G1' = 'purple4',
    'G5' = 'mediumorchid',
    'G8' = 'deeppink',
    'G12' = 'pink2'
    )
  
  # plot 5 pricipal components in a pairsplot
  pairsplot <- pairsplot(pcaData,
      components = getComponents(pcaData, c(1:5)),
      triangle = TRUE, trianglelabSize = 12,
      hline = 0, vline = 0,
      pointSize = 0.4,
      gridlines.major = FALSE, gridlines.minor = FALSE,
      colby = 'condition',
      #colkey= color_vector,
      title = 'Pairs plot', plotaxes = FALSE,
      legendPosition = 'none',
      margingaps = unit(c(-0.01, -0.01, -0.01, -0.01), 'cm'))
  pairsplot
  # save graph as PDF
  ggsave(
    filename = paste0(PCA_graph,"DEP_bc_","pairsplot", ".pdf"),
    plot = pairsplot
    )
  
  # PCA 1
  p1 <- biplot(pcaData, x = "PC1", y = "PC2",
         lab = NULL ,
         colby = "condition",
         #colkey= color_vector,
         legendPosition = 'right' )
  p1
  # save graph as PDF
  ggsave(
    filename = paste0(PCA_graph,"pca_DEP_bc_","cell_line",".pdf"),
    plot = p1
    )
  
}
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
for(h in seq_along(DEP_EDA_mv_ls)){
  
  # Directories
  PCA_graph <- paste0(graph_dir,names(DEP_EDA_mv_ls)[h],"/")
  PCA_output <- paste0(output_dir,names(DEP_EDA_mv_ls)[h],"/")
  
  # Extract single
  DEP_mv <- DEP_EDA_mv_ls[[h]]
  
  # Create pca object
  pcaData <- PCAtools::pca(assay(DEP_mv), metadata = colData(DEP_mv))
  
  # Save pca data
  write.csv(pcaData$rotated, file =paste0(PCA_output,"pcaData","DEP_mv",".csv"))
  
  # Set colors
  color_vector <-
    c(
    'C' = 'black',
    'CEv3' = 'red',
    'E4' = 'deepskyblue4',
    'E5' = 'turquoise3',
    'G1' = 'purple4',
    'G5' = 'mediumorchid',
    'G8' = 'deeppink',
    'G12' = 'pink2'
    )
  
  # plot 5 pricipal components in a pairsplot
  pairsplot <- pairsplot(pcaData,
      components = getComponents(pcaData, c(1:5)),
      triangle = TRUE, trianglelabSize = 12,
      hline = 0, vline = 0,
      pointSize = 0.4,
      gridlines.major = FALSE, gridlines.minor = FALSE,
      colby = 'condition',
      #colkey= color_vector,
      title = 'Pairs plot', plotaxes = FALSE,
      legendPosition = 'none',
      margingaps = unit(c(-0.01, -0.01, -0.01, -0.01), 'cm'))
  pairsplot
  # save graph as PDF
  ggsave(
    filename = paste0(PCA_graph,"DEP_mv","pairsplot", ".pdf"),
    plot = pairsplot
    )
  
  # PCA 1
  p1 <- biplot(pcaData, x = "PC1", y = "PC2",
         lab = NULL ,
         colby = "condition",
         #colkey= color_vector,
         legendPosition = 'right' )
  p1
  # save graph as PDF
  ggsave(
    filename = paste0(PCA_graph,"pca_DEP_mv_","cell_line",".pdf"),
    plot = p1
    )
  
}
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image

Euclidian distances

Batch corrected values

system.time(
for(h in seq_along(DEP_EDA_bc_ls)){
  
  # Directories
  Euclidian_graph <- paste0(graph_dir,names(DEP_EDA_bc_ls)[h],"/")
  Euclidian_output <- paste0(output_dir,names(DEP_EDA_bc_ls)[h],"/")
  
  # Extract single
  DEP_bc <- DEP_EDA_bc_ls[[h]]

# calculate sample euclidian distances
sampleDists <- dist(t(assay(DEP_bc)))

# plot sample euclidian distances via a heatmap
sampleDistMatrix <- as.matrix( sampleDists )

# Complex Heatmap annotation labels
annotation_col<-
  HeatmapAnnotation(df = data.frame(Model = DEP_bc@colData$cell_line_abbr,
                                    Serum = DEP_bc@colData$serum,
                                    Sen = DEP_bc@colData$EGFR_TKI_sen),
  col = list(Model =
  c(
    'C' = 'black',
    'CEv3' = 'red',
    'E4' = 'deepskyblue4',
    'E5' = 'turquoise3',
    'G1' = 'purple4',
    'G5' = 'mediumorchid',
    'G8' = 'deeppink',
    'G12' = 'pink2'
  ),
  Serum =
    c("full"='firebrick',
      "starve"='royalblue'
      ),
 Sen =
    c('Resistant'='brown',
      'Sensitive'='blue')
  ))

# Heatmap of euclidian distances
ed_heatmap <-
  ComplexHeatmap::Heatmap(
      sampleDistMatrix,
      name = " ",
      column_title = "Euclidian Distances",
      show_column_names = FALSE,
      show_row_names = FALSE,
      clustering_distance_rows = "euclidean",
      clustering_distance_columns = "euclidean",
      clustering_method_rows = "complete",
      clustering_method_columns = "complete",
      col = colorRampPalette( rev(brewer.pal(9, "Blues")) )(255),
      top_annotation = annotation_col
    )

pdf(file=paste0(Euclidian_graph,"Euclidian_distance_bc",".pdf"))
draw(ed_heatmap)
dev.off()

}
)
##    user  system elapsed 
##   1.851   0.000   1.893

Missing Values

system.time(
for(h in seq_along(DEP_EDA_mv_ls)){
  
  # Directories
  Euclidian_graph <- paste0(graph_dir,names(DEP_EDA_mv_ls)[h],"/")
  Euclidian_output <- paste0(output_dir,names(DEP_EDA_mv_ls)[h],"/")
  
  # Extract single
  DEP_mv <- DEP_EDA_mv_ls[[h]]

# calculate sample euclidian distances
sampleDists <- dist(t(assay(DEP_mv)))

# plot sample euclidian distances via a heatmap
sampleDistMatrix <- as.matrix( sampleDists )

# Complex Heatmap annotation labels
annotation_col<-
  HeatmapAnnotation(df = data.frame(Model = DEP_mv@colData$cell_line_abbr,
                                    Serum = DEP_mv@colData$serum,
                                    Sen = DEP_mv@colData$EGFR_TKI_sen),
  col = list(Model =
  c(
    'C' = 'black',
    'CEv3' = 'red',
    'E4' = 'deepskyblue4',
    'E5' = 'turquoise3',
    'G1' = 'purple4',
    'G5' = 'mediumorchid',
    'G8' = 'deeppink',
    'G12' = 'pink2'
  ),
  Serum =
    c("full"='firebrick',
      "starve"='royalblue'
      ),
 Sen =
    c('Resistant'='brown',
      'Sensitive'='blue')
  ))

# Heatmap of euclidian distances
ed_heatmap <-
  ComplexHeatmap::Heatmap(
      sampleDistMatrix,
      name = " ",
      column_title = "Euclidian Distances",
      show_column_names = FALSE,
      show_row_names = FALSE,
      clustering_distance_rows = "euclidean",
      clustering_distance_columns = "euclidean",
      clustering_method_rows = "complete",
      clustering_method_columns = "complete",
      col = colorRampPalette( rev(brewer.pal(9, "Blues")) )(255),
      top_annotation = annotation_col
    )

pdf(file=paste0(Euclidian_graph,"Euclidian_distance_mv",".pdf"))
draw(ed_heatmap)
dev.off()

}
)
##    user  system elapsed 
##   1.520   0.000   1.554

Genes of Interest (GOI)

normCounts
# user  system elapsed 
# 345.517   2.174 405.482 

system.time(for (h in seq_along(DEP_EDA_bc_ls)){

# Directories for normCounts
dir.create(paste0(output_dir,names(DEP_EDA_bc_ls)[h],"/","normCounts"))
output_dir_normCounts <- paste0(output_dir,names(DEP_EDA_bc_ls)[h],"/","normCounts/")
dir.create(paste0(graph_dir,names(DEP_EDA_bc_ls)[h],"/","normCounts"))
graph_dir_normCounts <- paste0(graph_dir,names(DEP_EDA_bc_ls)[h],"/","normCounts/")

DEP_normCounts <- DEP_EDA_bc_ls[[h]]

# DEP_normCounts
norm_counts <- as.data.frame(assay(DEP_normCounts))
normCounts <- norm_counts

# Import DF of GOI
# normCounts_goi_df <- read.csv("/Data/Input/RNAseq/REF/normCounts_goi_mouse.csv",header = TRUE, fileEncoding = "UTF-8-BOM")

# vectors of genes of interest. Filtered for present
goi <-  row.names(DEP_normCounts)

# Check all goi are present after filtering
match(goi,row.names(normCounts))

# Transform data
counts_goi <- as.data.frame(t(normCounts[goi,]))
counts.rn_counts_goi <- rownames(counts_goi)

# Extract each gene in to a unique dataframe
counts_data_list_goi <- list()
for (i in seq_along(goi)) {
  counts_data_list_goi[[goi[i]]] <- as.data.frame(counts_goi[, i])
  rownames(counts_data_list_goi[[goi[i]]]) <- counts.rn_counts_goi
  counts_data_list_goi[[goi[i]]] <-
    rownames_to_column(counts_data_list_goi[[goi[i]]], var = "sample_id")
  colnames(counts_data_list_goi[[goi[i]]])[2] <- "norm_counts"
  counts_data_list_goi[[goi[i]]]$cell_line_abbr <-
    DEP_normCounts@colData$cell_line_abbr[match(counts_data_list_goi[[goi[i]]]$sample_id,
                                          rownames(DEP_normCounts@colData))]
  counts_data_list_goi[[goi[i]]]$drug <-
    DEP_normCounts@colData$drug[match(counts_data_list_goi[[goi[i]]]$sample_id,
                                       rownames(DEP_normCounts@colData))]
  counts_data_list_goi[[goi[i]]]$drug_conc_uM <-
    DEP_normCounts@colData$drug_conc_uM[match(counts_data_list_goi[[goi[i]]]$sample_id,
                                  rownames(DEP_normCounts@colData))]
    counts_data_list_goi[[goi[i]]]$time_h <-
    DEP_normCounts@colData$time_h[match(counts_data_list_goi[[goi[i]]]$sample_id,
                                  rownames(DEP_normCounts@colData))]
    counts_data_list_goi[[goi[i]]]$condition <-
    DEP_normCounts@colData$condition[match(counts_data_list_goi[[goi[i]]]$sample_id,
                                  rownames(DEP_normCounts@colData))]
}

# Save count data for GOI
for (i in seq_along(counts_data_list_goi)) {
  write.csv(
  counts_data_list_goi[[i]],
  file = paste0(output_dir_normCounts, names(counts_data_list_goi)[i], ".csv"),
  row.names = TRUE
  )
}

# Compute stats for GOI
counts_data_list_goi_stats <- list()
for (i in seq_along(counts_data_list_goi)) {
  counts_data_list_goi_stats[[names(counts_data_list_goi)[i]]] <-
    counts_data_list_goi[[i]] %>%
    group_by(condition) %>%
    summarise(
      n = n(),
      avg_normCount = mean(norm_counts),
      sd = sd(norm_counts),
      IQR = IQR(norm_counts),
      MAD = mad(norm_counts),
      Coeff.Variation.Prcnt =sd(norm_counts) / mean(norm_counts) * 100
      )
}

# Save stats data for GOI
for (i in seq_along(counts_data_list_goi_stats)) {
  write.csv(
  counts_data_list_goi_stats[[i]],
  file = paste0(output_dir_normCounts, names(counts_data_list_goi_stats)[i], "_stats.csv"),
  row.names = TRUE
  )
}

# Boxplots on linear scale
b <- list()
for (i in seq_along(counts_data_list_goi)) {
  b[[i]] <- ggplot(data = counts_data_list_goi[[i]],
  aes(x = counts_data_list_goi[[i]]$condition ,
  y = counts_data_list_goi[[i]]$norm_counts)) +
  geom_boxplot() +
  geom_point() +
  xlab("Genotype") +
  ylab("Normalized Counts") +
  scale_y_continuous() +
  labs(title = paste0(names(counts_data_list_goi[i]), " DEP_normCounts")) +
  theme(axis.text.x = element_text(angle = 90, hjust = 0.5, vjust = 0.5, size=rel(1)))
  print(b[[i]])
  ggsave(filename = paste0(
    graph_dir_normCounts,
    names(counts_data_list_goi)[[i]],
    "_normCounts",
    ".pdf"
  ))
}

# Graphics termination
if(!is.null(dev.list())) dev.off()
if(!is.null(dev.list())) graphics.off()

})

## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
##    user  system elapsed 
## 275.785   1.077 324.365

This chunk will extract the MV imputed counts for GOI ##### normCounts

# user  system elapsed 
# 345.517   2.174 405.482 

system.time(for (h in seq_along(DEP_EDA_mv_ls)){

# Directories for normCounts
dir.create(paste0(output_dir,names(DEP_EDA_mv_ls)[h],"/","normCounts_MV"))
output_dir_normCounts <- paste0(output_dir,names(DEP_EDA_mv_ls)[h],"/","normCounts_MV/")
dir.create(paste0(graph_dir,names(DEP_EDA_mv_ls)[h],"/","normCounts_MV"))
graph_dir_normCounts <- paste0(graph_dir,names(DEP_EDA_mv_ls)[h],"/","normCounts_MV/")

DEP_normCounts <- DEP_EDA_mv_ls[[h]]

# DEP_normCounts
norm_counts <- as.data.frame(assay(DEP_normCounts))
normCounts <- norm_counts

# Import DF of GOI
# normCounts_goi_df <- read.csv("/Data/Input/RNAseq/REF/normCounts_goi_mouse.csv",header = TRUE, fileEncoding = "UTF-8-BOM")

# vectors of genes of interest. Filtered for present
goi <-  row.names(DEP_normCounts)

# Check all goi are present after filtering
match(goi,row.names(normCounts))

# Transform data
counts_goi <- as.data.frame(t(normCounts[goi,]))
counts.rn_counts_goi <- rownames(counts_goi)

# Extract each gene in to a unique dataframe
counts_data_list_goi <- list()
for (i in seq_along(goi)) {
  counts_data_list_goi[[goi[i]]] <- as.data.frame(counts_goi[, i])
  rownames(counts_data_list_goi[[goi[i]]]) <- counts.rn_counts_goi
  counts_data_list_goi[[goi[i]]] <-
    rownames_to_column(counts_data_list_goi[[goi[i]]], var = "sample_id")
  colnames(counts_data_list_goi[[goi[i]]])[2] <- "norm_counts"
  counts_data_list_goi[[goi[i]]]$cell_line_abbr <-
    DEP_normCounts@colData$cell_line_abbr[match(counts_data_list_goi[[goi[i]]]$sample_id,
                                          rownames(DEP_normCounts@colData))]
  counts_data_list_goi[[goi[i]]]$drug <-
    DEP_normCounts@colData$drug[match(counts_data_list_goi[[goi[i]]]$sample_id,
                                       rownames(DEP_normCounts@colData))]
  counts_data_list_goi[[goi[i]]]$drug_conc_uM <-
    DEP_normCounts@colData$drug_conc_uM[match(counts_data_list_goi[[goi[i]]]$sample_id,
                                  rownames(DEP_normCounts@colData))]
    counts_data_list_goi[[goi[i]]]$time_h <-
    DEP_normCounts@colData$time_h[match(counts_data_list_goi[[goi[i]]]$sample_id,
                                  rownames(DEP_normCounts@colData))]
    counts_data_list_goi[[goi[i]]]$condition <-
    DEP_normCounts@colData$condition[match(counts_data_list_goi[[goi[i]]]$sample_id,
                                  rownames(DEP_normCounts@colData))]
}

# Save count data for GOI
for (i in seq_along(counts_data_list_goi)) {
  write.csv(
  counts_data_list_goi[[i]],
  file = paste0(output_dir_normCounts, names(counts_data_list_goi)[i], ".csv"),
  row.names = TRUE
  )
}

# Compute stats for GOI
counts_data_list_goi_stats <- list()
for (i in seq_along(counts_data_list_goi)) {
  counts_data_list_goi_stats[[names(counts_data_list_goi)[i]]] <-
    counts_data_list_goi[[i]] %>%
    group_by(condition) %>%
    summarise(
      n = n(),
      avg_normCount = mean(norm_counts),
      sd = sd(norm_counts),
      IQR = IQR(norm_counts),
      MAD = mad(norm_counts),
      Coeff.Variation.Prcnt =sd(norm_counts) / mean(norm_counts) * 100
      )
}

# Save stats data for GOI
for (i in seq_along(counts_data_list_goi_stats)) {
  write.csv(
  counts_data_list_goi_stats[[i]],
  file = paste0(output_dir_normCounts, names(counts_data_list_goi_stats)[i], "_stats.csv"),
  row.names = TRUE
  )
}

# Boxplots on linear scale
b <- list()
for (i in seq_along(counts_data_list_goi)) {
  b[[i]] <- ggplot(data = counts_data_list_goi[[i]],
  aes(x = counts_data_list_goi[[i]]$condition ,
  y = counts_data_list_goi[[i]]$norm_counts)) +
  geom_boxplot() +
  geom_point() +
  xlab("Genotype") +
  ylab("Normalized Counts") +
  scale_y_continuous() +
  labs(title = paste0(names(counts_data_list_goi[i]), " DEP_normCounts")) +
  theme(axis.text.x = element_text(angle = 90, hjust = 0.5, vjust = 0.5, size=rel(1)))
  print(b[[i]])
  ggsave(filename = paste0(
    graph_dir_normCounts,
    names(counts_data_list_goi)[[i]],
    "_normCounts",
    ".pdf"
  ))
}

# Graphics termination
if(!is.null(dev.list())) dev.off()
if(!is.null(dev.list())) graphics.off()

})

## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
##    user  system elapsed 
## 276.804   1.039 313.032

Limma

DE analysis with limma

Directories

# Directories for MIB
MIB_output
## [1] "/Data/Output/MIB-BL/"
MIB_graphs
## [1] "/Data/Graphs/MIB-BL/"
# Directory for full SE obj
dir.create(paste0(MIB_output,"DEP_all"))
dir.create(paste0(MIB_graphs,"DEP_all"))
graph_dir <- paste0(MIB_graphs,"DEP_all/")
output_dir <- paste0(MIB_output,"DEP_all/")

# Directory for Full SE obj results
dir.create(paste0(output_dir,"Limma_res"))
output_dir_res <- paste0(output_dir,"Limma_res/")
dir.create(paste0(graph_dir,"Limma_res"))
graph_dir_res <- paste0(graph_dir,"Limma_res/")

Comparisons

# comps
comps_factor <- as.vector(factor(paste0(colData(se_mibs_BL_mv)$condition)))
comps_df <- crossing(comp_num=comps_factor, comp_denom=comps_factor)
comps_df <- subset(comps_df, as.character(comps_df$comp_num) != as.character(comps_df$comp_denom))

# All comps
comps_df_all <- comps_df
comps_df_all <- cbind(comp_type="condition",comps_df_all)
comps_df_all <- cbind(comp_no=1:nrow(comps_df_all),comps_df_all)
comps_df_all$comp_name <- paste(comps_df_all$comp_num, "vs", comps_df_all$comp_denom, sep = "-")
comps_df_all$comp <- paste(comps_df_all$comp_num,comps_df_all$comp_denom, sep="-")
write.csv(comps_df_all, file=paste0(output_dir_res,"comps_all.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_all, file = paste0(output_dir_res,
## "comps_all.csv"), : attempt to set 'col.names' ignored
comps_all_subset <- comps_df_all[,2:4]

# Unique comps only (for only unique combo)
comps_df_unique <- comps_df[!duplicated(t(apply(comps_df, 1, sort))), ]
comps_df_unique <- cbind(comp_type="condition",comps_df_unique )
comps_df_unique <- cbind(comp_no=1:nrow(comps_df_unique),comps_df_unique)
comps_df_unique$comp_name <- paste(comps_df_unique$comp_num, "vs", comps_df_unique$comp_denom, sep = "-")
comps_df_unique$comp <- paste(comps_df_unique$comp_num,comps_df_unique$comp_denom, sep="-")
write.csv(comps_df_unique, file=paste0(output_dir_res,"comps_unique.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_unique, file = paste0(output_dir_res,
## "comps_unique.csv"), : attempt to set 'col.names' ignored
comps_unique_subset <- comps_df_unique[,2:4]

# Comp list to use (all comps)
comps <- comps_df_all

DE Analysis

# Extract gene matrix
gene.matrix <- as.matrix(assay(se_mibs_BL_mv))
  
# make design table
cond <- as.vector(se_mibs_BL_mv@colData$condition)
batch <- as.vector(se_mibs_BL_mv@colData$prep_batch)

# Design formula with covariates of batch
design <- model.matrix(~0 + cond + batch ) 

colnames(design) = gsub("cond","",colnames(design))

head(design)
##   C.full C.starve CEv3.full CEv3.starve E4.full E4.starve E5.full E5.starve
## 1      0        0         0           0       1         0       0         0
## 2      0        0         0           0       1         0       0         0
## 3      0        0         0           0       0         0       0         0
## 4      0        0         0           0       0         0       0         0
## 5      0        0         0           0       0         0       0         0
## 6      0        0         0           0       0         0       0         0
##   G1.full G1.starve G12.full G12.starve G5.full G5.starve G8.full G8.starve
## 1       0         0        0          0       0         0       0         0
## 2       0         0        0          0       0         0       0         0
## 3       0         0        0          0       0         0       1         0
## 4       0         0        0          0       0         0       1         0
## 5       0         0        0          0       0         0       1         0
## 6       0         0        1          0       0         0       0         0
##   batch3 batch4 batch5 batch6 batch8
## 1      0      0      0      0      0
## 2      0      0      0      0      0
## 3      0      0      0      0      0
## 4      0      0      0      0      0
## 5      0      0      0      0      0
## 6      0      0      0      0      0
#limma part analysis
fit1 <- lmFit(gene.matrix, design)
## Coefficients not estimable: batch6 batch8
## Warning: Partial NA coefficients for 325 probe(s)
# Make contrasts 
contrast <- makeContrasts(contrasts=comps$comp,levels=design)
fit2 <- eBayes(contrasts.fit(fit1,contrasts = contrast))

# Extract results
mibs_comp_list <- list()
for (i in seq_along(comps$comp)){
  mibs_comp_list[[comps$comp[i]]] <- 
    topTreat(fit2, coef=comps$comp[i], number=Inf, adjust.method = "fdr")
  mibs_comp_list[[comps$comp[i]]]$gene <- row.names(mibs_comp_list[[comps$comp[i]]])
}

# Estimate true null
propTrueNull(mibs_comp_list[[1]]$P.Value)
## [1] 0.8589634
# save results
for (i in seq_along(mibs_comp_list)) {
  write.csv(
  mibs_comp_list[[i]],
  file = paste0(output_dir_res,"comp_", i, "_", names(mibs_comp_list)[i], ".csv"),
  row.names = TRUE
  )
}

# save results
# Save mibs_comp_list as RDS
saveRDS(mibs_comp_list, file = paste0(output_dir,format(Sys.Date(),"%y%m%d"),"_","DE_Limma_res",".rds"))

DEP_BL_Par_fs

Directories

# Directories for DEP_Bl_par
dir.create(paste0(MIB_graphs,"DEP_Bl_Par_fs"))
dir.create(paste0(MIB_output,"DEP_Bl_Par_fs"))
graph_dir <- paste0(MIB_graphs,"DEP_Bl_Par_fs/")
output_dir <- paste0(MIB_output,"DEP_Bl_Par_fs/")

Subset

# Master DEP
# DEP_EDA_mv_ls

# Subseting from the batch corrected imputed normalized values.
# se_mibs_BL_bc

# Subset DEP object
DEP_Bl_Par_fs <- DEP_EDA_bc_ls[["bl_Par_fs"]]

# Save sample sheet
write.csv(data.frame(colData(DEP_Bl_Par_fs)), file=paste0(output_dir,"DEP_Bl_Par_fs",".csv"))

# Save DEP_2019_parental as RDS
saveRDS(DEP_Bl_Par_fs, file = paste0(output_dir,format(Sys.Date(),"%y%m%d"),"_","DEP_Bl_Par_fs",".rds"))

PCA

# PCA with all genes

# Create pca object
pcaData <- PCAtools::pca(assay(DEP_Bl_Par_fs), metadata = colData(DEP_Bl_Par_fs))

# Save pca data
write.csv(pcaData$rotated, file =paste0(output_dir,"pcaData",".csv"))

# Set colors
color_vector <-
  c(
    'C' = 'black',
    'CEv3' = 'red'
  )

# plot 5 pricipal components in a pairsplot
pairsplot <- pairsplot(pcaData,
    components = getComponents(pcaData, c(1:5)),
    triangle = TRUE, trianglelabSize = 12,
    hline = 0, vline = 0,
    pointSize = 0.4,
    gridlines.major = FALSE, gridlines.minor = FALSE,
    colby = 'cell_line_abbr',
    colkey= color_vector,
    title = 'Pairs plot', plotaxes = FALSE,
    legendPosition = 'none',
    margingaps = unit(c(-0.01, -0.01, -0.01, -0.01), 'cm'))
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
pairsplot

# save graph as PDF
ggsave(
  filename = paste0(graph_dir,"pca_","pairsplot", ".pdf"),
  plot = pairsplot
  )
## Saving 7 x 5 in image
# PCA 1
p1 <- biplot(pcaData, x = "PC1", y = "PC2",
       lab = NULL ,
       colby = "cell_line_abbr",
       colkey= color_vector,
       legendPosition = 'right' )
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
p1

# save graph as PDF
ggsave(
  filename = paste0(graph_dir,"pca_vsd_500_","cell_line",".pdf"),
  plot = p1
  )
## Saving 7 x 5 in image

Euclidian distances

# calculate sample euclidian distances
sampleDists <- dist(t(assay(DEP_Bl_Par_fs)))

# plot sample euclidian distances via a heatmap
sampleDistMatrix <- as.matrix( sampleDists )

# Complex Heatmap annotation labels
annotation_col<- 
  HeatmapAnnotation(df = data.frame(Model = DEP_Bl_Par_fs@colData$cell_line_abbr,
                                    Sen=  DEP_Bl_Par_fs@colData$EGFR_TKI_sen),
  col = list(Model =
  c(
    'C' = 'black',
    'CEv3' = 'red',
    'E4' = 'deepskyblue4',
    'E5' = 'turquoise3',
    'G1' = 'purple4',
    'G5' = 'mediumorchid',
    'G8' = 'deeppink',
    'G12' = 'pink2'
  ),
 Sen =
    c('Resistant'='brown',
      'Sensitive'='blue')
  ))

# Heatmap of euclidian distances
ComplexHeatmap::Heatmap(
      sampleDistMatrix,
      name = " ",
      column_title = "Eculidian Distances",
      show_column_names = FALSE,
      show_row_names = FALSE,
      clustering_distance_rows = "euclidean",
      clustering_distance_columns = "euclidean",
      clustering_method_rows = "complete",
      clustering_method_columns = "complete",
      col = colorRampPalette( rev(brewer.pal(9, "Blues")) )(255),
      top_annotation = annotation_col
    )

Limma

Directories

# Directory for results
dir.create(paste0(output_dir,"Limma_res"))
output_dir_res <- paste0(output_dir,"Limma_res/")
dir.create(paste0(graph_dir,"Limma_res"))
graph_dir_res <- paste0(graph_dir,"Limma_res/")

Comparisons

# DEP_Bl_Par_fs

# comps 
comps_factor <- as.vector(factor(paste0(DEP_Bl_Par_fs$condition)))
comps_df <- crossing(comp_num=comps_factor, comp_denom=comps_factor)
comps_df <- subset(comps_df, as.character(comps_df$comp_num) != as.character(comps_df$comp_denom))

# All comps
comps_df_all <- comps_df
comps_df_all <- cbind(comp_type="condition",comps_df_all)
comps_df_all <- cbind(comp_no=1:nrow(comps_df_all),comps_df_all)
comps_df_all$comp_name <- paste(comps_df_all$comp_num, "vs", comps_df_all$comp_denom, sep = "-")
comps_df_all$comp <- paste(comps_df_all$comp_num,comps_df_all$comp_denom, sep="-")
write.csv(comps_df_all, file=paste0(output_dir,"comps_all.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_all, file = paste0(output_dir, "comps_all.csv"),
## : attempt to set 'col.names' ignored
comps_all_subset <- comps_df_all[,2:4]

# Unique comps only (for only unique combo)
comps_df_unique <- comps_df[!duplicated(t(apply(comps_df, 1, sort))), ]
comps_df_unique <- cbind(comp_type="condition",comps_df_unique )
comps_df_unique <- cbind(comp_no=1:nrow(comps_df_unique),comps_df_unique)
comps_df_unique$comp_name <- paste(comps_df_unique$comp_num, "vs", comps_df_unique$comp_denom, sep = "-")
comps_df_unique$comp <- paste(comps_df_unique$comp_num,comps_df_unique$comp_denom, sep="-")
write.csv(comps_df_unique, file=paste0(output_dir,"comps_unique.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_unique, file = paste0(output_dir,
## "comps_unique.csv"), : attempt to set 'col.names' ignored
comps_unique_subset <- comps_df_unique[,2:4]

# Comp list to use (all comps)
comps <- comps_df_all

DE results

# Results
# mibs_comp_list

# Extract results
subset_limmaRes <- list()
for (i in seq_along(comps$comp)){
  subset_limmaRes[[comps$comp[i]]] <-
    mibs_comp_list[[paste0(comps$comp[i])]]
}

# save results
for (i in seq_along(subset_limmaRes)) {
  write.csv(
  subset_limmaRes[[i]],
  file = paste0(output_dir_res,"comp_", i, "_", names(subset_limmaRes)[i], ".csv"),
  row.names = TRUE
  )
}
Summarize Results
# Extract comps of interest
coi <- comps_df_all$comp[comps_df_all$comp_denom %in% c("C.full","CEv3.full")]
comp_list_oi <- subset_limmaRes[names(subset_limmaRes) %in% coi]
comp_list_oi <- lapply(comp_list_oi,data.frame)

# Label list of DF
for (i in seq_along(comp_list_oi)){
  colnames(comp_list_oi[[i]]) <- paste0(colnames(comp_list_oi[[i]]),"_",names(comp_list_oi)[[i]])
  comp_list_oi[[i]]$Gene_ID <- row.names(comp_list_oi[[i]])
}

# Left_join comps of interest to 1x spreadsheet
comp_list_oi_master <- Reduce(function(x, y) left_join(x, y, by="Gene_ID"), comp_list_oi)
row.names(comp_list_oi_master) <- comp_list_oi_master$Gene_ID
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)=="Gene_ID")]
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)%in% paste0(grep("gene_",colnames(comp_list_oi_master), value = T)))]


# Subset to spreadsheets
comp_list_oi_padj <- comp_list_oi_master[,grep("adj.P.Val_", colnames(comp_list_oi_master))]
comp_list_oi_pvalue <- comp_list_oi_master[,grep("P.Value_", colnames(comp_list_oi_master))]
comp_list_oi_l2fc <- comp_list_oi_master[,grep("logFC_", colnames(comp_list_oi_master))]

# Save spreadsheets
write.csv(comp_list_oi_padj, file = paste0(output_dir_res,"All_coi_","padj",".csv"))
write.csv(comp_list_oi_pvalue, file = paste0(output_dir_res,"All_coi_","pvalue",".csv"))
write.csv(comp_list_oi_l2fc, file = paste0(output_dir_res,"All_coi_","l2fc",".csv"))
Volcano Plots
# Directory for volcano plots
dir.create(paste0(graph_dir,"volcano"))
graph_dir_vol <- paste0(graph_dir,"volcano/")

# Plot Volcano
volcano_plots_ls <- list()
for (i in seq_along(subset_limmaRes)){
  plot(volcano_plots_ls[[names(subset_limmaRes)[i]]] <- 
    EnhancedVolcano(
      subset_limmaRes[[i]], 
      lab=row.names(subset_limmaRes[[i]]),
      x="logFC",
      y="adj.P.Val",
      title= paste0("MIBs ",names(subset_limmaRes)[[i]]),
      pCutoff =qval, 
      FCcutoff =lfc,
      pointSize = 2.0, 
      labSize = 3.0 
    ))}

# Save Volcano
for (i in seq_along(volcano_plots_ls)){
ggsave(filename = paste0(graph_dir_vol,"comp_", i, "_", names(volcano_plots_ls)[[i]],".pdf"), plot=volcano_plots_ls[[i]])
}
## Saving 7 x 5 in image
## Saving 7 x 5 in image
# Graphics termination 
if(!is.null(dev.list())) dev.off()
## null device 
##           1
if(!is.null(dev.list())) graphics.off()

DEP_BL_Par_ss

Directories

# Directories for DEP_Bl_par
dir.create(paste0(MIB_graphs,"DEP_Bl_Par_ss"))
dir.create(paste0(MIB_output,"DEP_Bl_Par_ss"))
graph_dir <- paste0(MIB_graphs,"DEP_Bl_Par_ss/")
output_dir <- paste0(MIB_output,"DEP_Bl_Par_ss/")

Subset

# Master DEP
# DEP_EDA_mv_ls


# Subseting from the batch corrected imputed normalized values.
# se_mibs_BL_bc

# Subset DEP object
DEP_Bl_Par_ss <- DEP_EDA_bc_ls[["bl_Par_ss"]]

# Save sample sheet
write.csv(data.frame(colData(DEP_Bl_Par_ss)), file=paste0(output_dir,"DEP_Bl_Par_ss",".csv"))

# Save DEP_2019_parental as RDS
saveRDS(DEP_Bl_Par_ss, file = paste0(output_dir,format(Sys.Date(),"%y%m%d"),"_","DEP_Bl_Par_ss",".rds"))

PCA

# PCA with all genes

# Create pca object
pcaData <- PCAtools::pca(assay(DEP_Bl_Par_ss), metadata = colData(DEP_Bl_Par_ss))

# Save pca data
write.csv(pcaData$rotated, file =paste0(output_dir,"pcaData",".csv"))

# Set colors
color_vector <-
  c(
    'C' = 'black',
    'CEv3' = 'red'
  )

# plot 5 pricipal components in a pairsplot
pairsplot <- pairsplot(pcaData,
    components = getComponents(pcaData, c(1:5)),
    triangle = TRUE, trianglelabSize = 12,
    hline = 0, vline = 0,
    pointSize = 0.4,
    gridlines.major = FALSE, gridlines.minor = FALSE,
    colby = 'cell_line_abbr',
    colkey= color_vector,
    title = 'Pairs plot', plotaxes = FALSE,
    legendPosition = 'none',
    margingaps = unit(c(-0.01, -0.01, -0.01, -0.01), 'cm'))
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
pairsplot

# save graph as PDF
ggsave(
  filename = paste0(graph_dir,"pca_","pairsplot", ".pdf"),
  plot = pairsplot
  )
## Saving 7 x 5 in image
# PCA 1
p1 <- biplot(pcaData, x = "PC1", y = "PC2",
       lab = NULL ,
       colby = "cell_line_abbr",
       colkey= color_vector,
       legendPosition = 'right' )
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
p1

# save graph as PDF
ggsave(
  filename = paste0(graph_dir,"pca_vsd_500_","cell_line",".pdf"),
  plot = p1
  )
## Saving 7 x 5 in image

Euclidian distances

# calculate sample euclidian distances
sampleDists <- dist(t(assay(DEP_Bl_Par_ss)))

# plot sample euclidian distances via a heatmap
sampleDistMatrix <- as.matrix( sampleDists )

# Complex Heatmap annotation labels
annotation_col<- 
  HeatmapAnnotation(df = data.frame(Model = DEP_Bl_Par_ss@colData$cell_line_abbr,
                                    Sen = DEP_Bl_Par_ss@colData$EGFR_TKI_sen ),
  col = list(Model =
  c(
    'C' = 'black',
    'CEv3' = 'red',
    'E4' = 'deepskyblue4',
    'E5' = 'turquoise3',
    'G1' = 'purple4',
    'G5' = 'mediumorchid',
    'G8' = 'deeppink',
    'G12' = 'pink2'
  ),
 Sen =
    c('Resistant'='brown',
      'Sensitive'='blue')
  ))

# Heatmap of euclidian distances
ComplexHeatmap::Heatmap(
      sampleDistMatrix,
      name = " ",
      column_title = "Eculidian Distances",
      show_column_names = FALSE,
      show_row_names = FALSE,
      clustering_distance_rows = "euclidean",
      clustering_distance_columns = "euclidean",
      clustering_method_rows = "complete",
      clustering_method_columns = "complete",
      col = colorRampPalette( rev(brewer.pal(9, "Blues")) )(255),
      top_annotation = annotation_col
    )

Limma

Directories

# Directory for results
dir.create(paste0(output_dir,"Limma_res"))
output_dir_res <- paste0(output_dir,"Limma_res/")
dir.create(paste0(graph_dir,"Limma_res"))
graph_dir_res <- paste0(graph_dir,"Limma_res/")

Comparisons

# DEP_Bl_Par_ss

# comps 
comps_factor <- as.vector(factor(paste0(DEP_Bl_Par_ss$condition)))
comps_df <- crossing(comp_num=comps_factor, comp_denom=comps_factor)
comps_df <- subset(comps_df, as.character(comps_df$comp_num) != as.character(comps_df$comp_denom))

# All comps
comps_df_all <- comps_df
comps_df_all <- cbind(comp_type="condition",comps_df_all)
comps_df_all <- cbind(comp_no=1:nrow(comps_df_all),comps_df_all)
comps_df_all$comp_name <- paste(comps_df_all$comp_num, "vs", comps_df_all$comp_denom, sep = "-")
comps_df_all$comp <- paste(comps_df_all$comp_num,comps_df_all$comp_denom, sep="-")
write.csv(comps_df_all, file=paste0(output_dir,"comps_all.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_all, file = paste0(output_dir, "comps_all.csv"),
## : attempt to set 'col.names' ignored
comps_all_subset <- comps_df_all[,2:4]

# Unique comps only (for only unique combo)
comps_df_unique <- comps_df[!duplicated(t(apply(comps_df, 1, sort))), ]
comps_df_unique <- cbind(comp_type="condition",comps_df_unique )
comps_df_unique <- cbind(comp_no=1:nrow(comps_df_unique),comps_df_unique)
comps_df_unique$comp_name <- paste(comps_df_unique$comp_num, "vs", comps_df_unique$comp_denom, sep = "-")
comps_df_unique$comp <- paste(comps_df_unique$comp_num,comps_df_unique$comp_denom, sep="-")
write.csv(comps_df_unique, file=paste0(output_dir,"comps_unique.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_unique, file = paste0(output_dir,
## "comps_unique.csv"), : attempt to set 'col.names' ignored
comps_unique_subset <- comps_df_unique[,2:4]

# Comp list to use (all comps)
comps <- comps_df_all

DE results

# Results
# mibs_comp_list

# Extract results
subset_limmaRes <- list()
for (i in seq_along(comps$comp)){
  subset_limmaRes[[comps$comp[i]]] <-
    mibs_comp_list[[paste0(comps$comp[i])]]
}

# save results
for (i in seq_along(subset_limmaRes)) {
  write.csv(
  subset_limmaRes[[i]],
  file = paste0(output_dir_res,"comp_", i, "_", names(subset_limmaRes)[i], ".csv"),
  row.names = TRUE
  )
}
Summarize Results
# Extract comps of interest
coi <- comps_df_all$comp[comps_df_all$comp_denom %in% c("C.starve","CEv3.starve")]
comp_list_oi <- subset_limmaRes[names(subset_limmaRes) %in% coi]
comp_list_oi <- lapply(comp_list_oi,data.frame)

# Label list of DF
for (i in seq_along(comp_list_oi)){
  colnames(comp_list_oi[[i]]) <- paste0(colnames(comp_list_oi[[i]]),"_",names(comp_list_oi)[[i]])
  comp_list_oi[[i]]$Gene_ID <- row.names(comp_list_oi[[i]])
}

# Left_join comps of interest to 1x spreadsheet
comp_list_oi_master <- Reduce(function(x, y) left_join(x, y, by="Gene_ID"), comp_list_oi)
row.names(comp_list_oi_master) <- comp_list_oi_master$Gene_ID
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)=="Gene_ID")]
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)%in% paste0(grep("gene_",colnames(comp_list_oi_master), value = T)))]


# Subset to spreadsheets
comp_list_oi_padj <- comp_list_oi_master[,grep("adj.P.Val_", colnames(comp_list_oi_master))]
comp_list_oi_pvalue <- comp_list_oi_master[,grep("P.Value_", colnames(comp_list_oi_master))]
comp_list_oi_l2fc <- comp_list_oi_master[,grep("logFC_", colnames(comp_list_oi_master))]

# Save spreadsheets
write.csv(comp_list_oi_padj, file = paste0(output_dir_res,"All_coi_","padj",".csv"))
write.csv(comp_list_oi_pvalue, file = paste0(output_dir_res,"All_coi_","pvalue",".csv"))
write.csv(comp_list_oi_l2fc, file = paste0(output_dir_res,"All_coi_","l2fc",".csv"))
Volcano Plots
# Directory for volcano plots
dir.create(paste0(graph_dir,"volcano"))
graph_dir_vol <- paste0(graph_dir,"volcano/")

# Plot Volcano
volcano_plots_ls <- list()
for (i in seq_along(subset_limmaRes)){
  plot(volcano_plots_ls[[names(subset_limmaRes)[i]]] <- 
    EnhancedVolcano(
      subset_limmaRes[[i]], 
      lab=row.names(subset_limmaRes[[i]]),
      x="logFC",
      y="adj.P.Val",
      title= paste0("MIBs ",names(subset_limmaRes)[[i]]),
      pCutoff =qval, 
      FCcutoff =lfc,
      pointSize = 2.0, 
      labSize = 3.0 
    ))}

# Save Volcano
for (i in seq_along(volcano_plots_ls)){
ggsave(filename = paste0(graph_dir_vol,"comp_", i, "_", names(volcano_plots_ls)[[i]],".pdf"), plot=volcano_plots_ls[[i]])
}
## Saving 7 x 5 in image
## Saving 7 x 5 in image
# Graphics termination 
if(!is.null(dev.list())) dev.off()
## null device 
##           1
if(!is.null(dev.list())) graphics.off()

DEP_BL_Res_fs

Directories

# Directories for DEP_Bl_par
dir.create(paste0(MIB_graphs,"DEP_Bl_Res_fs"))
dir.create(paste0(MIB_output,"DEP_Bl_Res_fs"))
graph_dir <- paste0(MIB_graphs,"DEP_Bl_Res_fs/")
output_dir <- paste0(MIB_output,"DEP_Bl_Res_fs/")

Subset

# Master DEP
# DEP_EDA_mv_ls


# Subseting from the batch corrected imputed normalized values.
# se_mibs_BL_bc

# Subset DEP object
DEP_Bl_Res_fs <- DEP_EDA_bc_ls[["bl_Res_fs"]]

# Save sample sheet
write.csv(data.frame(colData(DEP_Bl_Res_fs)), file=paste0(output_dir,"DEP_Bl_Res_fs",".csv"))

# Save DEP_2019_parental as RDS
saveRDS(DEP_Bl_Res_fs, file = paste0(output_dir,format(Sys.Date(),"%y%m%d"),"_","DEP_Bl_Res_fs",".rds"))

PCA

# PCA with all genes

# Create pca object
pcaData <- PCAtools::pca(assay(DEP_Bl_Res_fs), metadata = colData(DEP_Bl_Res_fs))

# Save pca data
write.csv(pcaData$rotated, file =paste0(output_dir,"pcaData",".csv"))

# Set colors
color_vector <-
  c(
    'CEv3' = 'red',
    'E4'='deepskyblue4',
    'E5'='turquoise3',
    'G1'='purple4',
    'G5'='mediumorchid',
    'G8'='deeppink',
    'G12'='pink2'
  )

# plot 5 pricipal components in a pairsplot
pairsplot <- pairsplot(pcaData,
    components = getComponents(pcaData, c(1:5)),
    triangle = TRUE, trianglelabSize = 12,
    hline = 0, vline = 0,
    pointSize = 0.4,
    gridlines.major = FALSE, gridlines.minor = FALSE,
    colby = 'cell_line_abbr',
    colkey= color_vector,
    title = 'Pairs plot', plotaxes = FALSE,
    legendPosition = 'none',
    margingaps = unit(c(-0.01, -0.01, -0.01, -0.01), 'cm'))
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
pairsplot

# save graph as PDF
ggsave(
  filename = paste0(graph_dir,"pca_","pairsplot", ".pdf"),
  plot = pairsplot
  )
## Saving 7 x 5 in image
# PCA 1
p1 <- biplot(pcaData, x = "PC1", y = "PC2",
       lab = NULL ,
       colby = "cell_line_abbr",
       colkey= color_vector,
       legendPosition = 'right' )
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
p1

# save graph as PDF
ggsave(
  filename = paste0(graph_dir,"pca_vsd_500_","cell_line",".pdf"),
  plot = p1
  )
## Saving 7 x 5 in image

Euclidian distances

# calculate sample euclidian distances
sampleDists <- dist(t(assay(DEP_Bl_Res_fs)))

# plot sample euclidian distances via a heatmap
sampleDistMatrix <- as.matrix( sampleDists )

# Complex Heatmap annotation labels
annotation_col<-
  HeatmapAnnotation(df = data.frame(Model = DEP_Bl_Res_fs@colData$cell_line_abbr,
                                    Sen = DEP_Bl_Res_fs@colData$EGFR_TKI_sen),
  col = list(Model =
  c(
    'CEv3' = 'red',
    'E4'='deepskyblue4',
    'E5'='turquoise3',
    'G1'='purple4',
    'G5'='mediumorchid',
    'G8'='deeppink',
    'G12'='pink2'
  ),
  Sen =
    c('Resistant'='brown',
      'Sensitive'='blue')
  ))

# Heatmap of euclidian distances
ComplexHeatmap::Heatmap(
      sampleDistMatrix,
      name = " ",
      column_title = "Eculidian Distances",
      show_column_names = FALSE,
      show_row_names = FALSE,
      clustering_distance_rows = "euclidean",
      clustering_distance_columns = "euclidean",
      clustering_method_rows = "complete",
      clustering_method_columns = "complete",
      col = colorRampPalette( rev(brewer.pal(9, "Blues")) )(255),
      top_annotation = annotation_col
    )

Limma

Directories

# Directory for results
dir.create(paste0(output_dir,"Limma_res"))
output_dir_res <- paste0(output_dir,"Limma_res/")
dir.create(paste0(graph_dir,"Limma_res"))
graph_dir_res <- paste0(graph_dir,"Limma_res/")

Comparisons

# DEP_Bl_Res_fs

# comps 
comps_factor <- as.vector(factor(paste0(DEP_Bl_Res_fs$condition)))
comps_df <- crossing(comp_num=comps_factor, comp_denom=comps_factor)
comps_df <- subset(comps_df, as.character(comps_df$comp_num) != as.character(comps_df$comp_denom))

# All comps
comps_df_all <- comps_df
comps_df_all <- cbind(comp_type="condition",comps_df_all)
comps_df_all <- cbind(comp_no=1:nrow(comps_df_all),comps_df_all)
comps_df_all$comp_name <- paste(comps_df_all$comp_num, "vs", comps_df_all$comp_denom, sep = "-")
comps_df_all$comp <- paste(comps_df_all$comp_num,comps_df_all$comp_denom, sep="-")
write.csv(comps_df_all, file=paste0(output_dir,"comps_all.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_all, file = paste0(output_dir, "comps_all.csv"),
## : attempt to set 'col.names' ignored
comps_all_subset <- comps_df_all[,2:4]

# Unique comps only (for only unique combo)
comps_df_unique <- comps_df[!duplicated(t(apply(comps_df, 1, sort))), ]
comps_df_unique <- cbind(comp_type="condition",comps_df_unique )
comps_df_unique <- cbind(comp_no=1:nrow(comps_df_unique),comps_df_unique)
comps_df_unique$comp_name <- paste(comps_df_unique$comp_num, "vs", comps_df_unique$comp_denom, sep = "-")
comps_df_unique$comp <- paste(comps_df_unique$comp_num,comps_df_unique$comp_denom, sep="-")
write.csv(comps_df_unique, file=paste0(output_dir,"comps_unique.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_unique, file = paste0(output_dir,
## "comps_unique.csv"), : attempt to set 'col.names' ignored
comps_unique_subset <- comps_df_unique[,2:4]

# Comp list to use (all comps)
comps <- comps_df_all

DE results

# Results
# mibs_comp_list

# Extract results
subset_limmaRes <- list()
for (i in seq_along(comps$comp)){
  subset_limmaRes[[comps$comp[i]]] <-
    mibs_comp_list[[paste0(comps$comp[i])]]
}

# save results
for (i in seq_along(subset_limmaRes)) {
  write.csv(
  subset_limmaRes[[i]],
  file = paste0(output_dir_res,"comp_", i, "_", names(subset_limmaRes)[i], ".csv"),
  row.names = TRUE
  )
}
Summarize Results
# Extract comps of interest
coi <- comps_df_all$comp[comps_df_all$comp_denom %in% c("CEv3.full")]
comp_list_oi <- subset_limmaRes[names(subset_limmaRes) %in% coi]
comp_list_oi <- lapply(comp_list_oi,data.frame)

# Label list of DF
for (i in seq_along(comp_list_oi)){
  colnames(comp_list_oi[[i]]) <- paste0(colnames(comp_list_oi[[i]]),"_",names(comp_list_oi)[[i]])
  comp_list_oi[[i]]$Gene_ID <- row.names(comp_list_oi[[i]])
}

# Left_join comps of interest to 1x spreadsheet
comp_list_oi_master <- Reduce(function(x, y) left_join(x, y, by="Gene_ID"), comp_list_oi)
row.names(comp_list_oi_master) <- comp_list_oi_master$Gene_ID
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)=="Gene_ID")]
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)%in% paste0(grep("gene_",colnames(comp_list_oi_master), value = T)))]


# Subset to spreadsheets
comp_list_oi_padj <- comp_list_oi_master[,grep("adj.P.Val_", colnames(comp_list_oi_master))]
comp_list_oi_pvalue <- comp_list_oi_master[,grep("P.Value_", colnames(comp_list_oi_master))]
comp_list_oi_l2fc <- comp_list_oi_master[,grep("logFC_", colnames(comp_list_oi_master))]

# Save spreadsheets
write.csv(comp_list_oi_padj, file = paste0(output_dir_res,"All_coi_","padj",".csv"))
write.csv(comp_list_oi_pvalue, file = paste0(output_dir_res,"All_coi_","pvalue",".csv"))
write.csv(comp_list_oi_l2fc, file = paste0(output_dir_res,"All_coi_","l2fc",".csv"))
Volcano Plots
# Directory for volcano plots
dir.create(paste0(graph_dir,"volcano"))
graph_dir_vol <- paste0(graph_dir,"volcano/")

# Plot Volcano
volcano_plots_ls <- list()
for (i in seq_along(subset_limmaRes)){
  plot(volcano_plots_ls[[names(subset_limmaRes)[i]]] <- 
    EnhancedVolcano(
      subset_limmaRes[[i]], 
      lab=row.names(subset_limmaRes[[i]]),
      x="logFC",
      y="adj.P.Val",
      title= paste0("MIBs ",names(subset_limmaRes)[[i]]),
      pCutoff =qval, 
      FCcutoff =lfc,
      pointSize = 2.0, 
      labSize = 3.0 
    ))}

# Save Volcano
for (i in seq_along(volcano_plots_ls)){
ggsave(filename = paste0(graph_dir_vol,"comp_", i, "_", names(volcano_plots_ls)[[i]],".pdf"), plot=volcano_plots_ls[[i]])
}
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
# Graphics termination 
if(!is.null(dev.list())) dev.off()
## null device 
##           1
if(!is.null(dev.list())) graphics.off()

DEP_BL_Res_ss

Directories

# Directories for DEP_Bl_par
dir.create(paste0(MIB_graphs,"DEP_Bl_Res_ss"))
dir.create(paste0(MIB_output,"DEP_Bl_Res_ss"))
graph_dir <- paste0(MIB_graphs,"DEP_Bl_Res_ss/")
output_dir <- paste0(MIB_output,"DEP_Bl_Res_ss/")

Subset

# Master DEP
# DEP_EDA_mv_ls


# Subseting from the batch corrected imputed normalized values.
# se_mibs_BL_bc

# Subset DEP object
DEP_Bl_Res_ss <- DEP_EDA_mv_ls[["bl_Res_ss"]]

# Save sample sheet
write.csv(data.frame(colData(DEP_Bl_Res_ss)), file=paste0(output_dir,"DEP_Bl_Res_ss",".csv"))

# Save DEP_2019_parental as RDS
saveRDS(DEP_Bl_Res_ss, file = paste0(output_dir,format(Sys.Date(),"%y%m%d"),"_","DEP_Bl_Res_ss",".rds"))

PCA

# PCA with all genes

# Create pca object
pcaData <- PCAtools::pca(assay(DEP_Bl_Res_ss), metadata = colData(DEP_Bl_Res_ss))

# Save pca data
write.csv(pcaData$rotated, file =paste0(output_dir,"pcaData",".csv"))

# Set colors
color_vector <-
  c(
    'CEv3' = 'red',
    'E4'='deepskyblue4',
    'E5'='turquoise3',
    'G1'='purple4',
    'G5'='mediumorchid',
    'G8'='deeppink',
    'G12'='pink2'
  )

# plot 5 pricipal components in a pairsplot
pairsplot <- pairsplot(pcaData,
    components = getComponents(pcaData, c(1:5)),
    triangle = TRUE, trianglelabSize = 12,
    hline = 0, vline = 0,
    pointSize = 0.4,
    gridlines.major = FALSE, gridlines.minor = FALSE,
    colby = 'cell_line_abbr',
    colkey= color_vector,
    title = 'Pairs plot', plotaxes = FALSE,
    legendPosition = 'none',
    margingaps = unit(c(-0.01, -0.01, -0.01, -0.01), 'cm'))
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
pairsplot

# save graph as PDF
ggsave(
  filename = paste0(graph_dir,"pca_","pairsplot", ".pdf"),
  plot = pairsplot
  )
## Saving 7 x 5 in image
# PCA 1
p1 <- biplot(pcaData, x = "PC1", y = "PC2",
       lab = NULL ,
       colby = "cell_line_abbr",
       colkey= color_vector,
       legendPosition = 'right' )
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
p1

# save graph as PDF
ggsave(
  filename = paste0(graph_dir,"pca_vsd_500_","cell_line",".pdf"),
  plot = p1
  )
## Saving 7 x 5 in image

Euclidian distances

# calculate sample euclidian distances
sampleDists <- dist(t(assay(DEP_Bl_Res_ss)))

# plot sample euclidian distances via a heatmap
sampleDistMatrix <- as.matrix( sampleDists )

# Complex Heatmap annotation labels
annotation_col<-
  HeatmapAnnotation(df = data.frame(Model = DEP_Bl_Res_ss@colData$cell_line_abbr,
                                    Sen = DEP_Bl_Res_ss@colData$EGFR_TKI_sen),
  col = list(Model =
  c(
    'CEv3' = 'red',
    'E4'='deepskyblue4',
    'E5'='turquoise3',
    'G1'='purple4',
    'G5'='mediumorchid',
    'G8'='deeppink',
    'G12'='pink2'
  ),
  Sen =
    c('Resistant'='brown',
      'Sensitive'='blue')
  ))

# Heatmap of euclidian distances
ComplexHeatmap::Heatmap(
      sampleDistMatrix,
      name = " ",
      column_title = "Eculidian Distances",
      show_column_names = FALSE,
      show_row_names = FALSE,
      clustering_distance_rows = "euclidean",
      clustering_distance_columns = "euclidean",
      clustering_method_rows = "complete",
      clustering_method_columns = "complete",
      col = colorRampPalette( rev(brewer.pal(9, "Blues")) )(255),
      top_annotation = annotation_col
    )

Limma

Directories

# Directory for results
dir.create(paste0(output_dir,"Limma_res"))
output_dir_res <- paste0(output_dir,"Limma_res/")
dir.create(paste0(graph_dir,"Limma_res"))
graph_dir_res <- paste0(graph_dir,"Limma_res/")

Comparisons

# DEP_Bl_Res_ss

# comps 
comps_factor <- as.vector(factor(paste0(DEP_Bl_Res_ss$condition)))
comps_df <- crossing(comp_num=comps_factor, comp_denom=comps_factor)
comps_df <- subset(comps_df, as.character(comps_df$comp_num) != as.character(comps_df$comp_denom))

# All comps
comps_df_all <- comps_df
comps_df_all <- cbind(comp_type="condition",comps_df_all)
comps_df_all <- cbind(comp_no=1:nrow(comps_df_all),comps_df_all)
comps_df_all$comp_name <- paste(comps_df_all$comp_num, "vs", comps_df_all$comp_denom, sep = "-")
comps_df_all$comp <- paste(comps_df_all$comp_num,comps_df_all$comp_denom, sep="-")
write.csv(comps_df_all, file=paste0(output_dir,"comps_all.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_all, file = paste0(output_dir, "comps_all.csv"),
## : attempt to set 'col.names' ignored
comps_all_subset <- comps_df_all[,2:4]

# Unique comps only (for only unique combo)
comps_df_unique <- comps_df[!duplicated(t(apply(comps_df, 1, sort))), ]
comps_df_unique <- cbind(comp_type="condition",comps_df_unique )
comps_df_unique <- cbind(comp_no=1:nrow(comps_df_unique),comps_df_unique)
comps_df_unique$comp_name <- paste(comps_df_unique$comp_num, "vs", comps_df_unique$comp_denom, sep = "-")
comps_df_unique$comp <- paste(comps_df_unique$comp_num,comps_df_unique$comp_denom, sep="-")
write.csv(comps_df_unique, file=paste0(output_dir,"comps_unique.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_unique, file = paste0(output_dir,
## "comps_unique.csv"), : attempt to set 'col.names' ignored
comps_unique_subset <- comps_df_unique[,2:4]

# Comp list to use (all comps)
comps <- comps_df_all

DE results

# Results
# mibs_comp_list

# Extract results
subset_limmaRes <- list()
for (i in seq_along(comps$comp)){
  subset_limmaRes[[comps$comp[i]]] <-
    mibs_comp_list[[paste0(comps$comp[i])]]
}

# save results
for (i in seq_along(subset_limmaRes)) {
  write.csv(
  subset_limmaRes[[i]],
  file = paste0(output_dir_res,"comp_", i, "_", names(subset_limmaRes)[i], ".csv"),
  row.names = TRUE
  )
}
Summarize Results
# Extract comps of interest
coi <- comps_df_all$comp[comps_df_all$comp_denom %in% c("CEv3.starve")]
comp_list_oi <- subset_limmaRes[names(subset_limmaRes) %in% coi]
comp_list_oi <- lapply(comp_list_oi,data.frame)

# Label list of DF
for (i in seq_along(comp_list_oi)){
  colnames(comp_list_oi[[i]]) <- paste0(colnames(comp_list_oi[[i]]),"_",names(comp_list_oi)[[i]])
  comp_list_oi[[i]]$Gene_ID <- row.names(comp_list_oi[[i]])
}

# Left_join comps of interest to 1x spreadsheet
comp_list_oi_master <- Reduce(function(x, y) left_join(x, y, by="Gene_ID"), comp_list_oi)
row.names(comp_list_oi_master) <- comp_list_oi_master$Gene_ID
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)=="Gene_ID")]
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)%in% paste0(grep("gene_",colnames(comp_list_oi_master), value = T)))]


# Subset to spreadsheets
comp_list_oi_padj <- comp_list_oi_master[,grep("adj.P.Val_", colnames(comp_list_oi_master))]
comp_list_oi_pvalue <- comp_list_oi_master[,grep("P.Value_", colnames(comp_list_oi_master))]
comp_list_oi_l2fc <- comp_list_oi_master[,grep("logFC_", colnames(comp_list_oi_master))]

# Save spreadsheets
write.csv(comp_list_oi_padj, file = paste0(output_dir_res,"All_coi_","padj",".csv"))
write.csv(comp_list_oi_pvalue, file = paste0(output_dir_res,"All_coi_","pvalue",".csv"))
write.csv(comp_list_oi_l2fc, file = paste0(output_dir_res,"All_coi_","l2fc",".csv"))

DEP_BL_Par

Directories

# Directories for DEP_Bl_par
dir.create(paste0(MIB_graphs,"DEP_Bl_Par"))
dir.create(paste0(MIB_output,"DEP_Bl_Par"))
graph_dir <- paste0(MIB_graphs,"DEP_Bl_Par/")
output_dir <- paste0(MIB_output,"DEP_Bl_Par/")

Subset

# Master DEP
# DEP_EDA_mv_ls


# Subseting from the batch corrected imputed normalized values.
# se_mibs_BL_bc

# Subset DEP object
DEP_Bl_Par <- DEP_EDA_bc_ls[["bl_Par"]]

# Save sample sheet
write.csv(data.frame(colData(DEP_Bl_Par)), file=paste0(output_dir,"DEP_Bl_Par",".csv"))

# Save DEP_2019_parental as RDS
saveRDS(DEP_Bl_Par, file = paste0(output_dir,format(Sys.Date(),"%y%m%d"),"_","DEP_Bl_Par",".rds"))

PCA

# PCA with all genes

# Create pca object
pcaData <- PCAtools::pca(assay(DEP_Bl_Par), metadata = colData(DEP_Bl_Par))

# Save pca data
write.csv(pcaData$rotated, file =paste0(output_dir,"pcaData",".csv"))

# Set colors
color_vector <-
  c(
    'CEv3' = 'red',
    'E4'='deepskyblue4',
    'E5'='turquoise3',
    'G1'='purple4',
    'G5'='mediumorchid',
    'G8'='deeppink',
    'G12'='pink2'
  )

# plot 5 pricipal components in a pairsplot
pairsplot <- pairsplot(pcaData,
    components = getComponents(pcaData, c(1:5)),
    triangle = TRUE, trianglelabSize = 12,
    hline = 0, vline = 0,
    pointSize = 0.4,
    gridlines.major = FALSE, gridlines.minor = FALSE,
    colby = 'cell_line_abbr',
    colkey= color_vector,
    title = 'Pairs plot', plotaxes = FALSE,
    legendPosition = 'none',
    margingaps = unit(c(-0.01, -0.01, -0.01, -0.01), 'cm'))
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
pairsplot

# save graph as PDF
ggsave(
  filename = paste0(graph_dir,"pca_","pairsplot", ".pdf"),
  plot = pairsplot
  )
## Saving 7 x 5 in image
# PCA 1
p1 <- biplot(pcaData, x = "PC1", y = "PC2",
       lab = NULL ,
       colby = "cell_line_abbr",
       colkey= color_vector,
       shape = "serum",
       legendPosition = 'right' )
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
p1

# save graph as PDF
ggsave(
  filename = paste0(graph_dir,"pca_vsd_500_","cell_line",".pdf"),
  plot = p1
  )
## Saving 7 x 5 in image

Euclidian distances

# calculate sample euclidian distances
sampleDists <- dist(t(assay(DEP_Bl_Par)))

# plot sample euclidian distances via a heatmap
sampleDistMatrix <- as.matrix( sampleDists )

# Complex Heatmap annotation labels
annotation_col<- 
  HeatmapAnnotation(df = data.frame(Model = DEP_Bl_Par@colData$cell_line_abbr,
                                    Serum =  DEP_Bl_Par@colData$serum,
                                    Sen = DEP_Bl_Par@colData$EGFR_TKI_sen),
  col = list(Model =
  c(
    'C' = 'black',
    'CEv3' = 'red',
    'E4'='deepskyblue4',
    'E5'='turquoise3',
    'G1'='purple4',
    'G5'='mediumorchid',
    'G8'='deeppink',
    'G12'='pink2'
  ),
  Serum =
    c("full"='firebrick',
      "starve"='royalblue'
      ),
  Sen =
    c('Resistant'='brown',
      'Sensitive'='blue')
  ))

# Heatmap of euclidian distances
ComplexHeatmap::Heatmap(
      sampleDistMatrix,
      name = " ",
      column_title = "Eculidian Distances",
      show_column_names = FALSE,
      show_row_names = FALSE,
      clustering_distance_rows = "euclidean",
      clustering_distance_columns = "euclidean",
      clustering_method_rows = "complete",
      clustering_method_columns = "complete",
      col = colorRampPalette( rev(brewer.pal(9, "Blues")) )(255),
      top_annotation = annotation_col
    )

TVG (labeled)

# DEP_Bl_Par

# Directories 
dir.create(paste0(output_dir,"Heatmap_TVG"))
output_dir_Heatmap_TVG <- paste0(output_dir,"Heatmap_TVG/")
dir.create(paste0(graph_dir,"Heatmap_TVG"))
graph_dir_Heatmap_TVG <- paste0(graph_dir,"Heatmap_TVG/")

# pHeatmap of Top X DEG on transformed data
tvg <- c(100,50,25,10)
topVarGenesX_list <- list()

# pHeatmap of Top X DEG on transformed data

# Extract out distances
mat_list <- list()
for (i in seq_along(tvg)) {
  topVarGenesX_list[[paste0(tvg[i])]] <- head( order( rowVars( as.matrix(assay(DEP_Bl_Par)) ), decreasing=TRUE ), tvg[[i]] )
}
for (i in seq_along(tvg)) {
  mat_list[[paste0(tvg[i])]] <- assay(DEP_Bl_Par)[ topVarGenesX_list[[i]], ]
}

# Heatmap annotation labels
annotation_col<-
  HeatmapAnnotation(df = data.frame(Model = DEP_Bl_Par@colData$cell_line_abbr,
                                    Serum = DEP_Bl_Par@colData$serum,
                                    Sen = DEP_Bl_Par@colData$EGFR_TKI_sen),
  col = list(Model =
  c(
    'C' = 'black',
    'CEv3' = 'red',
    'E4' = 'deepskyblue4',
    'E5' = 'turquoise3',
    'G1' = 'purple4',
    'G5' = 'mediumorchid',
    'G8' = 'deeppink',
    'G12' = 'pink2'
  ),
  Serum =
    c("full"='firebrick',
      "starve"='royalblue'
      ),
  Sen =
    c('Resistant'='brown',
      'Sensitive'='blue'))
  )

# Generate Unlabeled Heatmap
p_list <- list()
for (i in seq_along(mat_list)) {
p_list[[paste0(names(mat_list)[[i]])]] <- ComplexHeatmap::Heatmap(
  t(scale(t(mat_list[[i]]))),
  top_annotation = annotation_col,
  name = " ",
  column_title = paste0(names(mat_list)[i],"_TVG"),
  show_column_names = F,
  show_row_names = F
  )
print(p_list[[i]])
}

# Save Heatmap
for (i in seq_along(p_list)) {
pdf(file=paste0(graph_dir_Heatmap_TVG, "CHeatmap_"  , names(p_list)[[i]], ".pdf"))
draw(p_list[[i]])
dev.off()
}


# Generate labeled Heatmap
p_list <- list()
for (i in seq_along(mat_list)) {
p_list[[paste0(names(mat_list)[[i]])]] <- ComplexHeatmap::Heatmap(
  t(scale(t(mat_list[[i]]))),
  #column_order=row.names(DEP_Bl_Par@colData[order(DEP_Bl_Par@colData$cell_line_abbr),]),
  top_annotation = annotation_col,
  #column_split = factor(DEP_Bl_Par@colData$cell_line_abbr),
  name = " ",
  column_title = paste0(names(mat_list)[i],"_TVG"),
  show_column_names = F,
  show_row_names = T
  )
print(p_list[[i]])
}

# Save Heatmap
for (i in seq_along(p_list)) {
pdf(file=paste0(graph_dir_Heatmap_TVG, "CHeatmapLabel_"  , names(p_list)[[i]], ".pdf"))
draw(p_list[[i]])
dev.off()
}

# Graphics termination 
if(!is.null(dev.list())) dev.off()
## null device 
##           1
if(!is.null(dev.list())) graphics.off()

Limma

Directories

# Directory for results
dir.create(paste0(output_dir,"Limma_res"))
output_dir_res <- paste0(output_dir,"Limma_res/")
dir.create(paste0(graph_dir,"Limma_res"))
graph_dir_res <- paste0(graph_dir,"Limma_res/")

Comparisons

# DEP_Bl_Par

# comps 
comps_factor <- as.vector(factor(paste0(DEP_Bl_Par$condition)))
comps_df <- crossing(comp_num=comps_factor, comp_denom=comps_factor)
comps_df <- subset(comps_df, as.character(comps_df$comp_num) != as.character(comps_df$comp_denom))

# All comps
comps_df_all <- comps_df
comps_df_all <- cbind(comp_type="condition",comps_df_all)
comps_df_all <- cbind(comp_no=1:nrow(comps_df_all),comps_df_all)
comps_df_all$comp_name <- paste(comps_df_all$comp_num, "vs", comps_df_all$comp_denom, sep = "-")
comps_df_all$comp <- paste(comps_df_all$comp_num,comps_df_all$comp_denom, sep="-")
write.csv(comps_df_all, file=paste0(output_dir,"comps_all.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_all, file = paste0(output_dir, "comps_all.csv"),
## : attempt to set 'col.names' ignored
comps_all_subset <- comps_df_all[,2:4]

# Unique comps only (for only unique combo)
comps_df_unique <- comps_df[!duplicated(t(apply(comps_df, 1, sort))), ]
comps_df_unique <- cbind(comp_type="condition",comps_df_unique )
comps_df_unique <- cbind(comp_no=1:nrow(comps_df_unique),comps_df_unique)
comps_df_unique$comp_name <- paste(comps_df_unique$comp_num, "vs", comps_df_unique$comp_denom, sep = "-")
comps_df_unique$comp <- paste(comps_df_unique$comp_num,comps_df_unique$comp_denom, sep="-")
write.csv(comps_df_unique, file=paste0(output_dir,"comps_unique.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_unique, file = paste0(output_dir,
## "comps_unique.csv"), : attempt to set 'col.names' ignored
comps_unique_subset <- comps_df_unique[,2:4]

# Comp list to use (all comps)
comps <- comps_df_all

DE results

# Results
# mibs_comp_list

# Extract results
subset_limmaRes <- list()
for (i in seq_along(comps$comp)){
  subset_limmaRes[[comps$comp[i]]] <-
    mibs_comp_list[[paste0(comps$comp[i])]]
}

# save results
for (i in seq_along(subset_limmaRes)) {
  write.csv(
  subset_limmaRes[[i]],
  file = paste0(output_dir_res,"comp_", i, "_", names(subset_limmaRes)[i], ".csv"),
  row.names = TRUE
  )
}
Summarize Results
# Extract comps of interest
coi <- comps_df_all$comp[comps_df_all$comp_denom %in% c("C.full","C.starve")]
comp_list_oi <- subset_limmaRes[names(subset_limmaRes) %in% coi]
comp_list_oi <- lapply(comp_list_oi,data.frame)

# Label list of DF
for (i in seq_along(comp_list_oi)){
  colnames(comp_list_oi[[i]]) <- paste0(colnames(comp_list_oi[[i]]),"_",names(comp_list_oi)[[i]])
  comp_list_oi[[i]]$Gene_ID <- row.names(comp_list_oi[[i]])
}

# Left_join comps of interest to 1x spreadsheet
comp_list_oi_master <- Reduce(function(x, y) left_join(x, y, by="Gene_ID"), comp_list_oi)
row.names(comp_list_oi_master) <- comp_list_oi_master$Gene_ID
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)=="Gene_ID")]
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)%in% paste0(grep("gene_",colnames(comp_list_oi_master), value = T)))]


# Subset to spreadsheets
comp_list_oi_padj <- comp_list_oi_master[,grep("adj.P.Val_", colnames(comp_list_oi_master))]
comp_list_oi_pvalue <- comp_list_oi_master[,grep("P.Value_", colnames(comp_list_oi_master))]
comp_list_oi_l2fc <- comp_list_oi_master[,grep("logFC_", colnames(comp_list_oi_master))]

# Save spreadsheets
write.csv(comp_list_oi_padj, file = paste0(output_dir_res,"All_coi_","padj",".csv"))
write.csv(comp_list_oi_pvalue, file = paste0(output_dir_res,"All_coi_","pvalue",".csv"))
write.csv(comp_list_oi_l2fc, file = paste0(output_dir_res,"All_coi_","l2fc",".csv"))
Volcano Plots
# Directory for volcano plots
dir.create(paste0(graph_dir,"volcano"))
graph_dir_vol <- paste0(graph_dir,"volcano/")

# Plot Volcano
volcano_plots_ls <- list()
for (i in seq_along(subset_limmaRes)){
  plot(volcano_plots_ls[[names(subset_limmaRes)[i]]] <- 
    EnhancedVolcano(
      subset_limmaRes[[i]], 
      lab=row.names(subset_limmaRes[[i]]),
      x="logFC",
      y="adj.P.Val",
      title= paste0("MIBs ",names(subset_limmaRes)[[i]]),
      pCutoff =qval, 
      FCcutoff =lfc,
      pointSize = 2.0, 
      labSize = 3.0 
    ))}

# Save Volcano
for (i in seq_along(volcano_plots_ls)){
ggsave(filename = paste0(graph_dir_vol,"comp_", i, "_", names(volcano_plots_ls)[[i]],".pdf"), plot=volcano_plots_ls[[i]])
}
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
# Graphics termination 
if(!is.null(dev.list())) dev.off()
## null device 
##           1
if(!is.null(dev.list())) graphics.off()

DEP_BL_Res

Directories

# Directories for DEP_BL_Res
dir.create(paste0(MIB_graphs,"DEP_BL_Res"))
dir.create(paste0(MIB_output,"DEP_BL_Res"))
graph_dir <- paste0(MIB_graphs,"DEP_BL_Res/")
output_dir <- paste0(MIB_output,"DEP_BL_Res/")

Subset

# Master DEP
# DEP_EDA_mv_ls


# Subseting from the batch corrected imputed normalized values.
# se_mibs_BL_bc

# Subset DEP object
DEP_BL_Res <- DEP_EDA_bc_ls[["bl_Res"]]

# Save sample sheet
write.csv(data.frame(colData(DEP_BL_Res)), file=paste0(output_dir,"DEP_BL_Res",".csv"))

# Save DEP_2019_parental as RDS
saveRDS(DEP_BL_Res, file = paste0(output_dir,format(Sys.Date(),"%y%m%d"),"_","DEP_BL_Res",".rds"))

PCA

# PCA with all genes

# Create pca object
pcaData <- PCAtools::pca(assay(DEP_BL_Res), metadata = colData(DEP_BL_Res))

# Save pca data
write.csv(pcaData$rotated, file =paste0(output_dir,"pcaData",".csv"))

# Set colors
color_vector <-
  c(
    'CEv3' = 'red',
    'E4'='deepskyblue4',
    'E5'='turquoise3',
    'G1'='purple4',
    'G5'='mediumorchid',
    'G8'='deeppink',
    'G12'='pink2'
  )
# plot 5 pricipal components in a pairsplot
pairsplot <- pairsplot(pcaData,
    components = getComponents(pcaData, c(1:5)),
    triangle = TRUE, trianglelabSize = 12,
    hline = 0, vline = 0,
    pointSize = 0.4,
    gridlines.major = FALSE, gridlines.minor = FALSE,
    colby = 'cell_line_abbr',
    colkey= color_vector,
    title = 'Pairs plot', plotaxes = FALSE,
    legendPosition = 'none',
    margingaps = unit(c(-0.01, -0.01, -0.01, -0.01), 'cm'))
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
pairsplot

# save graph as PDF
ggsave(
  filename = paste0(graph_dir,"pca_","pairsplot", ".pdf"),
  plot = pairsplot
  )
## Saving 7 x 5 in image
# PCA 1
p1 <- biplot(pcaData, x = "PC1", y = "PC2",
       lab = NULL ,
       colby = "cell_line_abbr",
       colkey= color_vector,
       shape = "serum",
       legendPosition = 'right' )
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
p1

# save graph as PDF
ggsave(
  filename = paste0(graph_dir,"pca_vsd_500_","cell_line",".pdf"),
  plot = p1
  )
## Saving 7 x 5 in image

Euclidian distances

# calculate sample euclidian distances
sampleDists <- dist(t(assay(DEP_BL_Res)))

# plot sample euclidian distances via a heatmap
sampleDistMatrix <- as.matrix( sampleDists )

# Complex Heatmap annotation labels
annotation_col<- 
  HeatmapAnnotation(df = data.frame(Model = DEP_BL_Res@colData$cell_line_abbr,
                                    Serum = DEP_BL_Res@colData$serum,
                                    Sen = DEP_BL_Res@colData$EGFR_TKI_sen),
  col = list(Model =
  c(
    'CEv3' = 'red',
    'E4'='deepskyblue4',
    'E5'='turquoise3',
    'G1'='purple4',
    'G5'='mediumorchid',
    'G8'='deeppink',
    'G12'='pink2'
  ),
  Serum =
    c("full"='firebrick',
      "starve"='royalblue'
      ),
  Sen =
    c('Resistant'='brown',
      'Sensitive'='blue')
  ))

# Heatmap of euclidian distances
ComplexHeatmap::Heatmap(
      sampleDistMatrix,
      name = " ",
      column_title = "Eculidian Distances",
      show_column_names = FALSE,
      show_row_names = FALSE,
      clustering_distance_rows = "euclidean",
      clustering_distance_columns = "euclidean",
      clustering_method_rows = "complete",
      clustering_method_columns = "complete",
      col = colorRampPalette( rev(brewer.pal(9, "Blues")) )(255),
      top_annotation = annotation_col
    )

TVG (labeled)

# DEP_BL_Res

# Directories 
dir.create(paste0(output_dir,"Heatmap_TVG"))
output_dir_Heatmap_TVG <- paste0(output_dir,"Heatmap_TVG/")
dir.create(paste0(graph_dir,"Heatmap_TVG"))
graph_dir_Heatmap_TVG <- paste0(graph_dir,"Heatmap_TVG/")

# pHeatmap of Top X DEG on transformed data
tvg <- c(100,50,25,10)
topVarGenesX_list <- list()

# pHeatmap of Top X DEG on transformed data

# Extract out distances
mat_list <- list()
for (i in seq_along(tvg)) {
  topVarGenesX_list[[paste0(tvg[i])]] <- head( order( rowVars( as.matrix(assay(DEP_BL_Res)) ), decreasing=TRUE ), tvg[[i]] )
}
for (i in seq_along(tvg)) {
  mat_list[[paste0(tvg[i])]] <- assay(DEP_BL_Res)[ topVarGenesX_list[[i]], ]
}

# Heatmap annotation labels
annotation_col<-
  HeatmapAnnotation(df = data.frame(Model = DEP_BL_Res@colData$cell_line_abbr,
                                    Serum = DEP_BL_Res@colData$serum,
                                    Sen = DEP_BL_Res@colData$EGFR_TKI_sen),
  col = list(Model =
  c(
    'CEv3' = 'red',
    'E4' = 'deepskyblue4',
    'E5' = 'turquoise3',
    'G1' = 'purple4',
    'G5' = 'mediumorchid',
    'G8' = 'deeppink',
    'G12' = 'pink2'
  ),
  Serum =
    c("full"='firebrick',
      "starve"='royalblue'
      ),
  Sen =
    c('Resistant'='brown',
      'Sensitive'='blue'))
  )

# Generate Unlabeled Heatmap
p_list <- list()
for (i in seq_along(mat_list)) {
p_list[[paste0(names(mat_list)[[i]])]] <- ComplexHeatmap::Heatmap(
  t(scale(t(mat_list[[i]]))),
  top_annotation = annotation_col,
  name = " ",
  column_title = paste0(names(mat_list)[i],"_TVG"),
  show_column_names = F,
  show_row_names = F
  )
print(p_list[[i]])
}

# Save Heatmap
for (i in seq_along(p_list)) {
pdf(file=paste0(graph_dir_Heatmap_TVG, "CHeatmap_"  , names(p_list)[[i]], ".pdf"))
draw(p_list[[i]])
dev.off()
}


# Generate labeled Heatmap
p_list <- list()
for (i in seq_along(mat_list)) {
p_list[[paste0(names(mat_list)[[i]])]] <- ComplexHeatmap::Heatmap(
  t(scale(t(mat_list[[i]]))),
  #column_order=row.names(DEP_BL_Res@colData[order(DEP_BL_Res@colData$cell_line_abbr),]),
  top_annotation = annotation_col,
  #column_split = factor(DEP_BL_Res@colData$cell_line_abbr),
  name = " ",
  column_title = paste0(names(mat_list)[i],"_TVG"),
  show_column_names = F,
  show_row_names = T
  )
print(p_list[[i]])
}

# Save Heatmap
for (i in seq_along(p_list)) {
pdf(file=paste0(graph_dir_Heatmap_TVG, "CHeatmapLabel_"  , names(p_list)[[i]], ".pdf"))
draw(p_list[[i]])
dev.off()
}

# Graphics termination 
if(!is.null(dev.list())) dev.off()
## null device 
##           1
if(!is.null(dev.list())) graphics.off()

Limma

Directories

# Directory for results
dir.create(paste0(output_dir,"Limma_res"))
output_dir_res <- paste0(output_dir,"Limma_res/")
dir.create(paste0(graph_dir,"Limma_res"))
graph_dir_res <- paste0(graph_dir,"Limma_res/")

Comparisons

# DEP_BL_Res

# comps 
comps_factor <- as.vector(factor(paste0(DEP_BL_Res$condition)))
comps_df <- crossing(comp_num=comps_factor, comp_denom=comps_factor)
comps_df <- subset(comps_df, as.character(comps_df$comp_num) != as.character(comps_df$comp_denom))

# All comps
comps_df_all <- comps_df
comps_df_all <- cbind(comp_type="condition",comps_df_all)
comps_df_all <- cbind(comp_no=1:nrow(comps_df_all),comps_df_all)
comps_df_all$comp_name <- paste(comps_df_all$comp_num, "vs", comps_df_all$comp_denom, sep = "-")
comps_df_all$comp <- paste(comps_df_all$comp_num,comps_df_all$comp_denom, sep="-")
write.csv(comps_df_all, file=paste0(output_dir,"comps_all.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_all, file = paste0(output_dir, "comps_all.csv"),
## : attempt to set 'col.names' ignored
comps_all_subset <- comps_df_all[,2:4]

# Unique comps only (for only unique combo)
comps_df_unique <- comps_df[!duplicated(t(apply(comps_df, 1, sort))), ]
comps_df_unique <- cbind(comp_type="condition",comps_df_unique )
comps_df_unique <- cbind(comp_no=1:nrow(comps_df_unique),comps_df_unique)
comps_df_unique$comp_name <- paste(comps_df_unique$comp_num, "vs", comps_df_unique$comp_denom, sep = "-")
comps_df_unique$comp <- paste(comps_df_unique$comp_num,comps_df_unique$comp_denom, sep="-")
write.csv(comps_df_unique, file=paste0(output_dir,"comps_unique.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_unique, file = paste0(output_dir,
## "comps_unique.csv"), : attempt to set 'col.names' ignored
comps_unique_subset <- comps_df_unique[,2:4]

# Comp list to use (all comps)
comps <- comps_df_all

DE results

# Results
# mibs_comp_list

# Extract results
subset_limmaRes <- list()
for (i in seq_along(comps$comp)){
  subset_limmaRes[[comps$comp[i]]] <-
    mibs_comp_list[[paste0(comps$comp[i])]]
}

# save results
for (i in seq_along(subset_limmaRes)) {
  write.csv(
  subset_limmaRes[[i]],
  file = paste0(output_dir_res,"comp_", i, "_", names(subset_limmaRes)[i], ".csv"),
  row.names = TRUE
  )
}
Summarize Results
# Extract comps of interest
coi <- comps_df_all$comp[comps_df_all$comp_denom %in% c("C.full","C.starve")]
comp_list_oi <- subset_limmaRes[names(subset_limmaRes) %in% coi]
comp_list_oi <- lapply(comp_list_oi,data.frame)

# Label list of DF
for (i in seq_along(comp_list_oi)){
  colnames(comp_list_oi[[i]]) <- paste0(colnames(comp_list_oi[[i]]),"_",names(comp_list_oi)[[i]])
  comp_list_oi[[i]]$Gene_ID <- row.names(comp_list_oi[[i]])
}

# Left_join comps of interest to 1x spreadsheet
comp_list_oi_master <- Reduce(function(x, y) left_join(x, y, by="Gene_ID"), comp_list_oi)
row.names(comp_list_oi_master) <- comp_list_oi_master$Gene_ID
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)=="Gene_ID")]
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)%in% paste0(grep("gene_",colnames(comp_list_oi_master), value = T)))]


# Subset to spreadsheets
comp_list_oi_padj <- comp_list_oi_master[,grep("adj.P.Val_", colnames(comp_list_oi_master))]
comp_list_oi_pvalue <- comp_list_oi_master[,grep("P.Value_", colnames(comp_list_oi_master))]
comp_list_oi_l2fc <- comp_list_oi_master[,grep("logFC_", colnames(comp_list_oi_master))]

# Save spreadsheets
write.csv(comp_list_oi_padj, file = paste0(output_dir_res,"All_coi_","padj",".csv"))
write.csv(comp_list_oi_pvalue, file = paste0(output_dir_res,"All_coi_","pvalue",".csv"))
write.csv(comp_list_oi_l2fc, file = paste0(output_dir_res,"All_coi_","l2fc",".csv"))
Volcano Plots
# Directory for volcano plots
dir.create(paste0(graph_dir,"volcano"))
graph_dir_vol <- paste0(graph_dir,"volcano/")

# Plot Volcano
volcano_plots_ls <- list()
for (i in seq_along(subset_limmaRes)){
  plot(volcano_plots_ls[[names(subset_limmaRes)[i]]] <- 
    EnhancedVolcano(
      subset_limmaRes[[i]], 
      lab=row.names(subset_limmaRes[[i]]),
      x="logFC",
      y="adj.P.Val",
      title= paste0("MIBs ",names(subset_limmaRes)[[i]]),
      pCutoff =qval, 
      FCcutoff =lfc,
      pointSize = 2.0, 
      labSize = 3.0 
    ))}

# Save Volcano
for (i in seq_along(volcano_plots_ls)){
ggsave(filename = paste0(graph_dir_vol,"comp_", i, "_", names(volcano_plots_ls)[[i]],".pdf"), plot=volcano_plots_ls[[i]])
}
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
# Graphics termination 
if(!is.null(dev.list())) dev.off()
## null device 
##           1
if(!is.null(dev.list())) graphics.off()

Session Info

sessionInfo()
## R version 4.3.2 (2023-10-31)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 22.04.4 LTS
## 
## Matrix products: default
## BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 
## LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.20.so;  LAPACK version 3.10.0
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
##  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
##  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
## 
## time zone: Etc/UTC
## tzcode source: system (glibc)
## 
## attached base packages:
##  [1] parallel  grid      stats4    stats     graphics  grDevices utils    
##  [8] datasets  methods   base     
## 
## other attached packages:
##  [1] factoextra_1.0.7            cluster_2.1.8              
##  [3] gtools_3.9.5                limma_3.58.1               
##  [5] DEP_1.24.0                  PCAtools_2.14.0            
##  [7] ggpubr_0.6.0                gprofiler2_0.2.3           
##  [9] vsn_3.70.0                  ComplexHeatmap_2.18.0      
## [11] UpSetR_1.4.0                msigdbr_7.5.1              
## [13] GSVA_1.50.5                 RSQLite_2.3.9              
## [15] rmarkdown_2.29              gplots_3.2.0               
## [17] EnhancedVolcano_1.20.0      ggrepel_0.9.6              
## [19] org.Hs.eg.db_3.18.0         AnnotationDbi_1.64.1       
## [21] BiocParallel_1.36.0         lubridate_1.9.4            
## [23] forcats_1.0.0               stringr_1.5.1              
## [25] purrr_1.0.4                 readr_2.1.5                
## [27] tidyr_1.3.1                 tidyverse_2.0.0            
## [29] pheatmap_1.0.12             RColorBrewer_1.1-3         
## [31] colorRamps_2.3.4            cowplot_1.1.3              
## [33] gridExtra_2.3               scales_1.3.0               
## [35] ggplot2_3.5.1               DESeq2_1.42.1              
## [37] SummarizedExperiment_1.32.0 MatrixGenerics_1.14.0      
## [39] matrixStats_1.5.0           tximport_1.30.0            
## [41] Biobase_2.62.0              dplyr_1.1.4                
## [43] biomaRt_2.58.2              rtracklayer_1.62.0         
## [45] GenomicRanges_1.54.1        GenomeInfoDb_1.38.8        
## [47] IRanges_2.36.0              S4Vectors_0.40.2           
## [49] BiocGenerics_0.48.1         tibble_3.2.1               
## 
## loaded via a namespace (and not attached):
##   [1] ProtGenerics_1.34.0         bitops_1.0-9               
##   [3] httr_1.4.7                  doParallel_1.0.17          
##   [5] tools_4.3.2                 MSnbase_2.28.1             
##   [7] backports_1.5.0             DT_0.33                    
##   [9] R6_2.6.1                    HDF5Array_1.30.1           
##  [11] lazyeval_0.2.2              rhdf5filters_1.14.1        
##  [13] GetoptLong_1.0.5            withr_3.0.2                
##  [15] prettyunits_1.2.0           preprocessCore_1.64.0      
##  [17] textshaping_1.0.0           cli_3.6.4                  
##  [19] sandwich_3.1-1              labeling_0.4.3             
##  [21] sass_0.4.9                  mvtnorm_1.3-3              
##  [23] systemfonts_1.2.1           Rsamtools_2.18.0           
##  [25] rstudioapi_0.17.1           impute_1.76.0              
##  [27] generics_0.1.3              shape_1.4.6.1              
##  [29] BiocIO_1.12.0               car_3.1-3                  
##  [31] Matrix_1.6-5                MALDIquant_1.22.3          
##  [33] imputeLCMD_2.1              abind_1.4-8                
##  [35] lifecycle_1.0.4             yaml_2.3.10                
##  [37] carData_3.0-5               rhdf5_2.46.1               
##  [39] SparseArray_1.2.4           BiocFileCache_2.10.2       
##  [41] blob_1.2.4                  promises_1.3.2             
##  [43] dqrng_0.4.1                 crayon_1.5.3               
##  [45] shinydashboard_0.7.2        lattice_0.22-6             
##  [47] beachmat_2.18.1             annotate_1.80.0            
##  [49] mzR_2.36.0                  KEGGREST_1.42.0            
##  [51] pillar_1.10.1               knitr_1.49                 
##  [53] rjson_0.2.23                codetools_0.2-20           
##  [55] glue_1.8.0                  pcaMethods_1.94.0          
##  [57] data.table_1.16.4           vctrs_0.6.5                
##  [59] png_0.1-8                   gtable_0.3.6               
##  [61] assertthat_0.2.1            cachem_1.1.0               
##  [63] xfun_0.51                   mime_0.12                  
##  [65] S4Arrays_1.2.1              ncdf4_1.23                 
##  [67] SingleCellExperiment_1.24.0 iterators_1.0.14           
##  [69] gmm_1.8                     statmod_1.5.0              
##  [71] bit64_4.6.0-1               progress_1.2.3             
##  [73] filelock_1.0.3              bslib_0.9.0                
##  [75] affyio_1.72.0               tmvtnorm_1.6               
##  [77] irlba_2.3.5.1               KernSmooth_2.23-26         
##  [79] colorspace_2.1-1            DBI_1.2.3                  
##  [81] tidyselect_1.2.1            bit_4.5.0.1                
##  [83] compiler_4.3.2              curl_6.2.0                 
##  [85] graph_1.80.0                xml2_1.3.6                 
##  [87] DelayedArray_0.28.0         plotly_4.10.4              
##  [89] caTools_1.18.3              affy_1.80.0                
##  [91] rappdirs_0.3.3              digest_0.6.37              
##  [93] XVector_0.42.0              htmltools_0.5.8.1          
##  [95] pkgconfig_2.0.3             sparseMatrixStats_1.14.0   
##  [97] dbplyr_2.5.0                fastmap_1.2.0              
##  [99] rlang_1.1.5                 GlobalOptions_0.1.2        
## [101] htmlwidgets_1.6.4           shiny_1.10.0               
## [103] DelayedMatrixStats_1.24.0   farver_2.1.2               
## [105] jquerylib_0.1.4             zoo_1.8-13                 
## [107] jsonlite_1.9.0              mzID_1.40.0                
## [109] BiocSingular_1.18.0         RCurl_1.98-1.16            
## [111] magrittr_2.0.3              Formula_1.2-5              
## [113] GenomeInfoDbData_1.2.11     Rhdf5lib_1.24.2            
## [115] munsell_0.5.1               Rcpp_1.0.14                
## [117] babelgene_22.9              MsCoreUtils_1.14.1         
## [119] stringi_1.8.4               zlibbioc_1.48.2            
## [121] MASS_7.3-60                 plyr_1.8.9                 
## [123] Biostrings_2.70.3           hms_1.1.3                  
## [125] circlize_0.4.16             locfit_1.5-9.11            
## [127] ggsignif_0.6.4              reshape2_1.4.4             
## [129] ScaledMatrix_1.10.0         XML_3.99-0.18              
## [131] evaluate_1.0.3              BiocManager_1.30.25        
## [133] httpuv_1.6.15               tzdb_0.4.0                 
## [135] foreach_1.5.2               clue_0.3-66                
## [137] norm_1.0-11.1               rsvd_1.0.5                 
## [139] broom_1.0.7                 xtable_1.8-4               
## [141] restfulr_0.0.15             later_1.4.1                
## [143] rstatix_0.7.2               ragg_1.3.3                 
## [145] viridisLite_0.4.2           memoise_2.0.1              
## [147] GenomicAlignments_1.38.2    timechange_0.3.0           
## [149] GSEABase_1.64.0

Timing End

proc.time() - ptm
##    user  system elapsed 
## 647.188   3.120 743.806